Changeset 198 in dev for trunk/abdev/BasicCompiler64/MakePeHdr.cpp
- Timestamp:
- Jun 27, 2007, 2:41:17 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/MakePeHdr.cpp
r193 r198 6 6 #include <ClassImpl.h> 7 7 #include <Compiler.h> 8 #include <NamespaceSupporter.h> 8 9 9 10 #include "../BasicCompiler_Common/common.h" … … 125 126 ////////////////// 126 127 // データテーブル 127 Compiler::GetNativeCode().GetDataTable().Init();128 compiler.GetNativeCode().GetDataTable().Init(); 128 129 if(bDebugCompile){ 129 Compiler::GetNativeCode().GetDataTable().Add( (long)0x00000002 );130 compiler.GetNativeCode().GetDataTable().Add( (long)0x00000002 ); 130 131 } 131 132 … … 151 152 152 153 //関数ポインタ情報を初期化 153 Smoothie::GetMeta().GetProcPointers().clear();154 compiler.GetMeta().GetProcPointers().clear(); 154 155 155 156 // 名前空間情報を取得 156 NamespaceS copesCollection::CollectNamespaces(157 NamespaceSupporter::CollectNamespaces( 157 158 Smoothie::Lexical::source.GetBuffer(), 158 Smoothie::GetMeta().namespaceScopesCollection159 compiler.GetMeta().GetNamespaces() 159 160 ); 160 161 … … 162 163 // GetSubInfo関数の中で参照されるオブジェクト名を事前に取得する。 163 164 // ※オブジェクトの内容までは取得しない 164 Smoothie::GetMeta().GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );165 compiler.GetMeta().GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source ); 165 166 166 167 //TypeDef情報を初期化 167 Smoothie::GetMeta().typeDefs.Init();168 compiler.GetMeta().GetTypeDefs().Init(); 168 169 169 170 //定数情報を取得 … … 175 176 176 177 //クラス情報を取得(※注 - GetSubInfoの後に呼び出す) 177 Smoothie::GetMeta().GetClasses().GetAllClassInfo();178 179 Smoothie::GetMeta().AutoWrite( Jenga::Common::Environment::GetAppDir() + "\\meta_test.xml" );178 compiler.GetMeta().GetClasses().GetAllClassInfo(); 179 180 compiler.GetMeta().AutoWrite( Jenga::Common::Environment::GetAppDir() + "\\meta_test.xml" ); 180 181 181 182 //コードと行番号の関係 … … 318 319 if(!bDll){ 319 320 // 名前空間が初期化されているかをチェック 320 if( Smoothie::Temp::liveingNamespaceScopes.size() ){321 if( namespaceSupporter.GetLivingNamespaceScopes().size() ){ 321 322 SetError(); 322 323 } … … 369 370 370 371 //クラスに属する静的メンバを定義 371 Smoothie::GetMeta().GetClasses().InitStaticMember();372 compiler.GetMeta().GetClasses().InitStaticMember(); 372 373 373 374 //グローバル実行領域をコンパイル開始 … … 433 434 434 435 // 名前空間が正しく閉じられているかをチェック 435 if( Smoothie::Temp::liveingNamespaceScopes.size() ){436 if( namespaceSupporter.GetLivingNamespaceScopes().size() ){ 436 437 SetError(63,NULL,-1); 437 438 } … … 883 884 884 885 //データセクションのファイル上のサイズ 885 if( Compiler::GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT) FileSize_DataSection=Compiler::GetNativeCode().GetDataTable().GetSize()+(FILE_ALIGNMENT-Compiler::GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT);886 else FileSize_DataSection= Compiler::GetNativeCode().GetDataTable().GetSize();886 if(compiler.GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT) FileSize_DataSection=compiler.GetNativeCode().GetDataTable().GetSize()+(FILE_ALIGNMENT-compiler.GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT); 887 else FileSize_DataSection=compiler.GetNativeCode().GetDataTable().GetSize(); 887 888 if(FileSize_DataSection) bUse_DataSection=1; 888 889 else bUse_DataSection=0; … … 1073 1074 //////////////////////////////////////// 1074 1075 //仮想関数データテーブルスケジュール 1075 Smoothie::GetMeta().GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection);1076 compiler.GetMeta().GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection); 1076 1077 1077 1078 … … 1609 1610 if(bUse_DataSection){ 1610 1611 //データ テーブル 1611 WriteFile(hFile, Compiler::GetNativeCode().GetDataTable().GetPtr(),Compiler::GetNativeCode().GetDataTable().GetSize(),(DWORD *)&i2,NULL);1612 WriteFile(hFile,compiler.GetNativeCode().GetDataTable().GetPtr(),compiler.GetNativeCode().GetDataTable().GetSize(),(DWORD *)&i2,NULL); 1612 1613 i+=i2; 1613 1614 } … … 1721 1722 1722 1723 //クラスに関するメモリを解放 1723 Smoothie::GetMeta().GetClasses().Clear();1724 compiler.GetMeta().GetClasses().Clear(); 1724 1725 }
Note:
See TracChangeset
for help on using the changeset viewer.