Ignore:
Timestamp:
May 3, 2008, 4:22:35 PM (16 years ago)
Author:
dai_9181
Message:

Compiler::StartProcedureCompile、Compiler::FinishProcedureCompileメソッドを追加(要実装)。

Location:
trunk/ab5.0/abdev/BasicCompiler_Common
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h

    r524 r533  
    189189    // コンパイル中のクラス
    190190    const CClass *pCompilingClass;
     191
     192    void StartProcedureCompile( const UserProc *pUserProc );
     193    void FinishProcedureCompile();
    191194};
    192195
  • trunk/ab5.0/abdev/BasicCompiler_Common/src/Compiler.cpp

    r523 r533  
    210210    return (std::string)"(null)";
    211211}
     212
     213void Compiler::StartProcedureCompile( const UserProc *pUserProc )
     214{
     215    //コンパイル中の関数が属するクラス
     216    this->pCompilingClass = pUserProc->GetParentClassPtr();
     217
     218    //コンパイルスタートをクラス管理クラスに追加
     219    this->GetObjectModule().meta.GetClasses().StartCompile( pUserProc );
     220
     221    //コンパイル中の関数
     222    UserProc::CompileStartForUserProc( pUserProc );
     223
     224    // コンパイル中の関数が属する名前空間
     225    this->GetNamespaceSupporter().SetLivingNamespaceScopes( pUserProc->GetNamespaceScopes() );
     226
     227    // コンパイル中の関数でImportsされている名前空間
     228    this->GetNamespaceSupporter().SetImportedNamespaces( pUserProc->GetImportedNamespaces() );
     229
     230    // コード生成対象を選択
     231    this->codeGenerator.Select( (const_cast<UserProc *>(pUserProc))->GetNativeCode() );
     232}
     233void Compiler::FinishProcedureCompile()
     234{
     235}
Note: See TracChangeset for help on using the changeset viewer.