Index: trunk/abdev/BasicCompiler64/MakePeHdr.cpp
===================================================================
--- trunk/abdev/BasicCompiler64/MakePeHdr.cpp	(revision 193)
+++ trunk/abdev/BasicCompiler64/MakePeHdr.cpp	(revision 198)
@@ -6,4 +6,5 @@
 #include <ClassImpl.h>
 #include <Compiler.h>
+#include <NamespaceSupporter.h>
 
 #include "../BasicCompiler_Common/common.h"
@@ -125,7 +126,7 @@
 	//////////////////
 	// データテーブル
-	Compiler::GetNativeCode().GetDataTable().Init();
+	compiler.GetNativeCode().GetDataTable().Init();
 	if(bDebugCompile){
-		Compiler::GetNativeCode().GetDataTable().Add( (long)0x00000002 );
+		compiler.GetNativeCode().GetDataTable().Add( (long)0x00000002 );
 	}
 
@@ -151,10 +152,10 @@
 
 	//関数ポインタ情報を初期化
-	Smoothie::GetMeta().GetProcPointers().clear();
+	compiler.GetMeta().GetProcPointers().clear();
 
 	// 名前空間情報を取得
-	NamespaceScopesCollection::CollectNamespaces(
+	NamespaceSupporter::CollectNamespaces(
 		Smoothie::Lexical::source.GetBuffer(),
-		Smoothie::GetMeta().namespaceScopesCollection
+		compiler.GetMeta().GetNamespaces()
 	);
 
@@ -162,8 +163,8 @@
 	//   GetSubInfo関数の中で参照されるオブジェクト名を事前に取得する。
 	//     ※オブジェクトの内容までは取得しない
-	Smoothie::GetMeta().GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );
+	compiler.GetMeta().GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );
 
 	//TypeDef情報を初期化
-	Smoothie::GetMeta().typeDefs.Init();
+	compiler.GetMeta().GetTypeDefs().Init();
 
 	//定数情報を取得
@@ -175,7 +176,7 @@
 
 	//クラス情報を取得（※注 - GetSubInfoの後に呼び出す）
-	Smoothie::GetMeta().GetClasses().GetAllClassInfo();
-
-	Smoothie::GetMeta().AutoWrite( Jenga::Common::Environment::GetAppDir() + "\\meta_test.xml" );
+	compiler.GetMeta().GetClasses().GetAllClassInfo();
+
+	compiler.GetMeta().AutoWrite( Jenga::Common::Environment::GetAppDir() + "\\meta_test.xml" );
 
 	//コードと行番号の関係
@@ -318,5 +319,5 @@
 	if(!bDll){
 		// 名前空間が初期化されているかをチェック
-		if( Smoothie::Temp::liveingNamespaceScopes.size() ){
+		if( namespaceSupporter.GetLivingNamespaceScopes().size() ){
 			SetError();
 		}
@@ -369,5 +370,5 @@
 
 		//クラスに属する静的メンバを定義
-		Smoothie::GetMeta().GetClasses().InitStaticMember();
+		compiler.GetMeta().GetClasses().InitStaticMember();
 
 		//グローバル実行領域をコンパイル開始
@@ -433,5 +434,5 @@
 
 		// 名前空間が正しく閉じられているかをチェック
-		if( Smoothie::Temp::liveingNamespaceScopes.size() ){
+		if( namespaceSupporter.GetLivingNamespaceScopes().size() ){
 			SetError(63,NULL,-1);
 		}
@@ -883,6 +884,6 @@
 
 	//データセクションのファイル上のサイズ
-	if(Compiler::GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT) FileSize_DataSection=Compiler::GetNativeCode().GetDataTable().GetSize()+(FILE_ALIGNMENT-Compiler::GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT);
-	else FileSize_DataSection=Compiler::GetNativeCode().GetDataTable().GetSize();
+	if(compiler.GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT) FileSize_DataSection=compiler.GetNativeCode().GetDataTable().GetSize()+(FILE_ALIGNMENT-compiler.GetNativeCode().GetDataTable().GetSize()%FILE_ALIGNMENT);
+	else FileSize_DataSection=compiler.GetNativeCode().GetDataTable().GetSize();
 	if(FileSize_DataSection) bUse_DataSection=1;
 	else bUse_DataSection=0;
@@ -1073,5 +1074,5 @@
 	////////////////////////////////////////
 	//仮想関数データテーブルスケジュール
-	Smoothie::GetMeta().GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection);
+	compiler.GetMeta().GetClasses().ActionVtblSchedule(ImageBase,MemPos_CodeSection);
 
 
@@ -1609,5 +1610,5 @@
 	if(bUse_DataSection){
 		//データ テーブル
-		WriteFile(hFile,Compiler::GetNativeCode().GetDataTable().GetPtr(),Compiler::GetNativeCode().GetDataTable().GetSize(),(DWORD *)&i2,NULL);
+		WriteFile(hFile,compiler.GetNativeCode().GetDataTable().GetPtr(),compiler.GetNativeCode().GetDataTable().GetSize(),(DWORD *)&i2,NULL);
 		i+=i2;
 	}
@@ -1721,4 +1722,4 @@
 
 	//クラスに関するメモリを解放
-	Smoothie::GetMeta().GetClasses().Clear();
+	compiler.GetMeta().GetClasses().Clear();
 }
