Changeset 90 in dev for BasicCompiler64/Compile_ProcOp.cpp


Ignore:
Timestamp:
Apr 7, 2007, 3:02:29 PM (18 years ago)
Author:
dai_9181
Message:

実行時型情報の生成にほぼ対応した。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler64/Compile_ProcOp.cpp

    r89 r90  
    195195        obp+=31;
    196196    }
    197     else if( userProc.GetName() == "InitializeUserTypes"
     197    else{
     198        SetError();
     199    }
     200}
     201void AutoGeneration(UserProc &userProc){
     202    if( userProc.GetName() == "InitializeUserTypes"
    198203        && userProc.HasParentClass()
    199204        && (string)userProc.GetParentClass().name == "_System_TypeBase" ){
     
    591596    //////////////////////////////////////////
    592597    ////// プロシージャ内をコンパイル ////////
    593     if(pUserProc->IsMacro()) CompileBuffer(ESC_ENDMACRO,0);
     598    if( pUserProc->IsAutoGeneration() ){
     599        AutoGeneration( *pUserProc );
     600    }
    594601    else{
    595         if(pUserProc->IsSub()) CompileBuffer(ESC_ENDSUB,0);
    596         else if(pUserProc->IsFunction()) CompileBuffer(ESC_ENDFUNCTION,0);
     602        if(pUserProc->IsMacro()){
     603            CompileBuffer(ESC_ENDMACRO,0);
     604        }
     605        else{
     606            if(pUserProc->IsSub()){
     607                CompileBuffer(ESC_ENDSUB,0);
     608            }
     609            else if(pUserProc->IsFunction()){
     610                CompileBuffer(ESC_ENDFUNCTION,0);
     611            }
     612        }
    597613    }
    598614    //////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.