Index: trunk/abdev/BasicCompiler64/MakePeHdr.cpp
===================================================================
--- trunk/abdev/BasicCompiler64/MakePeHdr.cpp	(revision 255)
+++ trunk/abdev/BasicCompiler64/MakePeHdr.cpp	(revision 257)
@@ -129,7 +129,7 @@
 	//////////////////
 	// データテーブル
-	compiler.GetDataTable().Init();
+	compiler.objectModule.dataTable.Clear();
 	if(bDebugCompile){
-		compiler.GetDataTable().Add( (long)0x00000002 );
+		compiler.objectModule.dataTable.Add( (long)0x00000002 );
 	}
 
@@ -155,10 +155,10 @@
 
 	//関数ポインタ情報を初期化
-	compiler.GetMeta().GetProcPointers().clear();
+	compiler.objectModule.meta.GetProcPointers().clear();
 
 	// 名前空間情報を取得
 	NamespaceSupporter::CollectNamespaces(
 		Smoothie::Lexical::source.GetBuffer(),
-		compiler.GetMeta().GetNamespaces()
+		compiler.objectModule.meta.GetNamespaces()
 	);
 
@@ -166,8 +166,8 @@
 	//   CollectProcedures関数の中で参照されるオブジェクト名を事前に取得する。
 	//     ※オブジェクトの内容までは取得しない
-	compiler.GetMeta().GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );
+	compiler.objectModule.meta.GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );
 
 	//TypeDef情報を初期化
-	compiler.GetMeta().GetTypeDefs().Init();
+	compiler.objectModule.meta.GetTypeDefs().Init();
 
 	//定数情報を取得
@@ -178,17 +178,17 @@
 	CollectProcedures(
 		Smoothie::Lexical::source,
-		compiler.GetMeta().GetUserProcs(),
-		compiler.GetMeta().GetDllProcs()
+		compiler.objectModule.meta.GetUserProcs(),
+		compiler.objectModule.meta.GetDllProcs()
 	);
 
 	// クラス情報を取得（※注 - CollectProceduresの後に呼び出す）
-	compiler.GetMeta().GetClasses().GetAllClassInfo();
+	compiler.objectModule.meta.GetClasses().GetAllClassInfo();
 
 	// サブルーチン（ユーザー定義、DLL関数）のイテレータの準備
-	compiler.GetMeta().GetUserProcs().Iterator_Init();
-	compiler.GetMeta().GetDllProcs().Iterator_Init();
+	compiler.objectModule.meta.GetUserProcs().Iterator_Init();
+	compiler.objectModule.meta.GetDllProcs().Iterator_Init();
 
 /*
-	if( !compiler.GetMeta().WriteXml( Jenga::Common::Environment::GetAppDir() + "\\meta_test.xml" ) )
+	if( !compiler.objectModule.meta.WriteXml( Jenga::Common::Environment::GetAppDir() + "\\meta_test.xml" ) )
 	{
 		MessageBox(0,"XML書き込みに失敗","test",0);
@@ -200,5 +200,5 @@
 	}
 
-	if( !compiler.GetMeta().WriteBinaly( Jenga::Common::Environment::GetAppDir() + "\\meta_test.dat" ) )
+	if( !compiler.objectModule.meta.WriteBinaly( Jenga::Common::Environment::GetAppDir() + "\\meta_test.dat" ) )
 	{
 		MessageBox(0,"バイナリ書き込みに失敗","test",0);
@@ -209,5 +209,5 @@
 		MessageBox(0,"バイナリ読み込みに失敗","test",0);
 	}
-	if( !compiler.GetMeta().WriteText( Jenga::Common::Environment::GetAppDir() + "\\meta_test.dat" ) )
+	if( !compiler.objectModule.meta.WriteText( Jenga::Common::Environment::GetAppDir() + "\\meta_test.dat" ) )
 	{
 		MessageBox(0,"バイナリ書き込みに失敗","test",0);
@@ -218,5 +218,5 @@
 		MessageBox(0,"バイナリ読み込みに失敗","test",0);
 	}
-	compiler.GetMeta() = (*pTempMeta);*/
+	compiler.objectModule.meta = (*pTempMeta);*/
 
 
@@ -384,5 +384,5 @@
 
 		// コード生成対象を選択
-		compiler.codeGenerator.Select( compiler.globalNativeCode );
+		compiler.codeGenerator.Select( compiler.objectModule.globalNativeCode );
 
 		trace_for_sourcecodestep( "★★★ グローバル領域のコンパイルを開始" );
@@ -407,5 +407,5 @@
 
 		//クラスに属する静的メンバを定義
-		compiler.GetMeta().GetClasses().InitStaticMember();
+		compiler.objectModule.meta.GetClasses().InitStaticMember();
 
 		//グローバル実行領域をコンパイル開始
@@ -524,8 +524,8 @@
 	// 使用するDLL関数のチェック
 	////////////////////////////////
-	compiler.GetMeta().GetDllProcs().Iterator_Reset();
-	while( compiler.GetMeta().GetDllProcs().Iterator_HasNext() )
+	compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
+	while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
 	{
-		const DllProc *pDllProc = compiler.GetMeta().GetDllProcs().Iterator_GetNext();
+		const DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
 
 		if( !pDllProc->IsUsing() ){
@@ -598,8 +598,8 @@
 			//辞書順にサーチ
 			temporary[0]=0;
-			compiler.GetMeta().GetUserProcs().Iterator_Reset();
-			while( compiler.GetMeta().GetUserProcs().Iterator_HasNext() )
+			compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
+			while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
 			{
-				pUserProc = compiler.GetMeta().GetUserProcs().Iterator_GetNext();
+				pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
 				if(pUserProc->IsExport()){
 					if(temporary[0]=='\0'){
@@ -702,8 +702,8 @@
 	int ImportDllNum=0;
 
-	compiler.GetMeta().GetDllProcs().Iterator_Reset();
-	while( compiler.GetMeta().GetDllProcs().Iterator_HasNext() )
+	compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
+	while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
 	{
-		const DllProc *pDllProc = compiler.GetMeta().GetDllProcs().Iterator_GetNext();
+		const DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
 
 		if( !pDllProc->IsUsing() ){
@@ -741,8 +741,8 @@
 		pImportDescriptor[i].Name=i*0x10;	//※すぐ下で再計算
 
-		compiler.GetMeta().GetDllProcs().Iterator_Reset();
-		while( compiler.GetMeta().GetDllProcs().Iterator_HasNext() )
+		compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
+		while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
 		{
-			const DllProc *pDllProc = compiler.GetMeta().GetDllProcs().Iterator_GetNext();
+			const DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
 
 			if( !pDllProc->IsUsing() ){
@@ -779,8 +779,8 @@
 	pHintTable=(char *)HeapAlloc(hHeap,0,HintAllocSize);
 	for(i=0,i5=0;i<ImportDllNum;i++){
-		compiler.GetMeta().GetDllProcs().Iterator_Reset();
-		while( compiler.GetMeta().GetDllProcs().Iterator_HasNext() )
+		compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
+		while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
 		{
-			DllProc *pDllProc = compiler.GetMeta().GetDllProcs().Iterator_GetNext();
+			DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
 
 			if( !pDllProc->IsUsing() ){
@@ -830,5 +830,5 @@
 	//（デバッグ情報で利用される）
 	extern int AllInitGlobalVarSize;
-	BOOST_FOREACH( Variable *pVar, compiler.GetMeta().GetGlobalVars() ){
+	BOOST_FOREACH( Variable *pVar, compiler.objectModule.meta.GetGlobalVars() ){
 		if(pVar->GetOffsetAddress()&0x80000000){
 			pVar->SetOffsetAddress(
@@ -915,6 +915,6 @@
 
 	//データセクションのファイル上のサイズ
-	if(compiler.GetDataTable().GetSize()%FILE_ALIGNMENT) FileSize_DataSection=compiler.GetDataTable().GetSize()+(FILE_ALIGNMENT-compiler.GetDataTable().GetSize()%FILE_ALIGNMENT);
-	else FileSize_DataSection=compiler.GetDataTable().GetSize();
+	if(compiler.objectModule.dataTable.GetSize()%FILE_ALIGNMENT) FileSize_DataSection=compiler.objectModule.dataTable.GetSize()+(FILE_ALIGNMENT-compiler.objectModule.dataTable.GetSize()%FILE_ALIGNMENT);
+	else FileSize_DataSection=compiler.objectModule.dataTable.GetSize();
 	if(FileSize_DataSection) bUse_DataSection=1;
 	else bUse_DataSection=0;
@@ -1077,8 +1077,8 @@
 			LookupSize;			//ルックアップテーブル
 
-		compiler.GetMeta().GetDllProcs().Iterator_Reset();
-		while( compiler.GetMeta().GetDllProcs().Iterator_HasNext() )
+		compiler.objectModule.meta.GetDllProcs().Iterator_Reset();
+		while( compiler.objectModule.meta.GetDllProcs().Iterator_HasNext() )
 		{
-			const DllProc *pDllProc = compiler.GetMeta().GetDllProcs().Iterator_GetNext();
+			const DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().Iterator_GetNext();
 
 			if( !pDllProc->IsUsing() ){
@@ -1098,5 +1098,5 @@
 	////////////////////////////////////////
 	//仮想関数データテーブルスケジュール
-	compiler.GetMeta().GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection);
+	compiler.objectModule.meta.GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection);
 
 
@@ -1631,5 +1631,5 @@
 	if(bUse_DataSection){
 		//データ テーブル
-		WriteFile(hFile,compiler.GetDataTable().GetPtr(),compiler.GetDataTable().GetSize(),(DWORD *)&i2,NULL);
+		WriteFile(hFile,compiler.objectModule.dataTable.GetPtr(),compiler.objectModule.dataTable.GetSize(),(DWORD *)&i2,NULL);
 		i+=i2;
 	}
@@ -1743,4 +1743,4 @@
 
 	//クラスに関するメモリを解放
-	compiler.GetMeta().GetClasses().Clear();
+	compiler.objectModule.meta.GetClasses().Clear();
 }
