Ignore:
Timestamp:
Jun 29, 2008, 3:20:40 PM (16 years ago)
Author:
dai_9181
Message:

If/While/Doなどのステートメントに引き渡す式の戻り値がクラス型の場合はBoolean型へのキャストを試みるようにした。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/compiler_x64/Compile_Statement.cpp

    r587 r676  
    124124    int reg=REG_RAX;
    125125    Type resultType;
    126     if( !NumOpe(&reg,buffer,Type(DEF_BOOLEAN),resultType) ){
    127         return;
     126    bool isNeedHeapFreeStructure;
     127    if( !NumOpe(&reg,buffer,Type(DEF_BOOLEAN),resultType, &isNeedHeapFreeStructure) ){
     128        return;
     129    }
     130
     131    if( resultType.IsObject() )
     132    {
     133        // Boolean型にキャストする
     134        Type booleanType( DEF_BOOLEAN );
     135        CallCastOperatorProc( reg, resultType, isNeedHeapFreeStructure, booleanType );
     136        resultType = booleanType;
    128137    }
    129138
Note: See TracChangeset for help on using the changeset viewer.