Index: trunk/abdev/BasicCompiler32/MakePeHdr.cpp
===================================================================
--- trunk/abdev/BasicCompiler32/MakePeHdr.cpp	(revision 267)
+++ trunk/abdev/BasicCompiler32/MakePeHdr.cpp	(revision 268)
@@ -175,5 +175,5 @@
 	// 名前空間情報を取得
 	NamespaceSupporter::CollectNamespaces(
-		compiler.GetObjectModule().source.GetBuffer(),
+		compiler.source.GetBuffer(),
 		compiler.GetObjectModule().meta.GetNamespaces()
 	);
@@ -182,5 +182,5 @@
 	//   CollectProcedures関数の中で参照されるオブジェクト名を事前に取得する。
 	//     ※オブジェクトの内容までは取得しない
-	compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler.GetObjectModule().source );
+	compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler.source );
 
 	//TypeDef情報を初期化
@@ -193,5 +193,5 @@
 	compiler.pCompilingClass = NULL;
 	CollectProcedures(
-		compiler.GetObjectModule().source,
+		compiler.source,
 		compiler.GetObjectModule().meta.GetUserProcs(),
 		compiler.GetObjectModule().meta.GetDllProcs()
Index: trunk/abdev/BasicCompiler64/MakePeHdr.cpp
===================================================================
--- trunk/abdev/BasicCompiler64/MakePeHdr.cpp	(revision 267)
+++ trunk/abdev/BasicCompiler64/MakePeHdr.cpp	(revision 268)
@@ -158,5 +158,5 @@
 	// 名前空間情報を取得
 	NamespaceSupporter::CollectNamespaces(
-		compiler.GetObjectModule().source.GetBuffer(),
+		compiler.source.GetBuffer(),
 		compiler.GetObjectModule().meta.GetNamespaces()
 	);
@@ -165,5 +165,5 @@
 	//   CollectProcedures関数の中で参照されるオブジェクト名を事前に取得する。
 	//     ※オブジェクトの内容までは取得しない
-	compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler.GetObjectModule().source );
+	compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler.source );
 
 	//TypeDef情報を初期化
@@ -176,5 +176,5 @@
 	compiler.pCompilingClass = NULL;
 	CollectProcedures(
-		compiler.GetObjectModule().source,
+		compiler.source,
 		compiler.GetObjectModule().meta.GetUserProcs(),
 		compiler.GetObjectModule().meta.GetDllProcs()
Index: trunk/abdev/BasicCompiler_Common/DebugMiddleFile.cpp
===================================================================
--- trunk/abdev/BasicCompiler_Common/DebugMiddleFile.cpp	(revision 267)
+++ trunk/abdev/BasicCompiler_Common/DebugMiddleFile.cpp	(revision 268)
@@ -102,4 +102,20 @@
 	}
 
+	// ソースコード
+	{
+		int length = compiler.source.GetLength();
+		if(BufferSize<i2+(int)length+32768){
+			while( BufferSize<i2+(int)length+32768 )
+			{
+				BufferSize+=32768;
+			}
+
+			buffer=(char *)HeapReAlloc(hHeap,0,buffer,BufferSize);
+		}
+
+		// バッファ
+		lstrcpy( buffer + i2, compiler.source.GetBuffer() );
+		i2 += lstrlen(buffer + i2) + 1;
+	}
 
 	//インクルード情報
@@ -215,4 +231,11 @@
 	}
 
+	// ソースコード
+	{
+		// バッファ
+		compiler.source.SetBuffer(buffer+i2);
+		i2 += lstrlen( buffer+i2 ) + 1;
+	}
+
 	//インクルード情報
 	_IncludeFileInfo.FilesNum=*(long *)(buffer+i2);
@@ -225,12 +248,11 @@
 		i2+=lstrlen(buffer+i2)+1;
 	}
-	for(i2++,i3=0;;i2++,i3++){
-		_IncludeFileInfo.LineOfFile[i3]=(long)buffer[i2];
+	for(i3=0;;i3++){
+		_IncludeFileInfo.LineOfFile[i3]=(long)buffer[i2++];
 		if(_IncludeFileInfo.LineOfFile[i3]==-1) break;
 	}
 
 	//コードと行番号の関係
-	int maxLineInfoNum;
-	maxLineInfoNum=*(long *)(buffer+i2);
+	int maxLineInfoNum = *(long *)(buffer+i2);
 	i2+=sizeof(long);
 	for(i3=0;i3<maxLineInfoNum;i3++){
Index: trunk/abdev/BasicCompiler_Common/Enum.cpp
===================================================================
--- trunk/abdev/BasicCompiler_Common/Enum.cpp	(revision 267)
+++ trunk/abdev/BasicCompiler_Common/Enum.cpp	(revision 268)
@@ -115,5 +115,5 @@
 	iEnumParentNum=0;
 
-	const char *source = compiler.GetObjectModule().source.GetBuffer();
+	const char *source = compiler.source.GetBuffer();
 
 	// 名前空間管理
Index: trunk/abdev/BasicCompiler_Common/MakeExe.cpp
===================================================================
--- trunk/abdev/BasicCompiler_Common/MakeExe.cpp	(revision 267)
+++ trunk/abdev/BasicCompiler_Common/MakeExe.cpp	(revision 268)
@@ -24,5 +24,5 @@
 
 	//最後尾に貼り付け
-	compiler.GetObjectModule().source.Addition( temp );
+	compiler.source.Addition( temp );
 
 	HeapDefaultFree(temp);
@@ -57,5 +57,5 @@
 	//プログラムをファイルから読み込む
 	extern char SourceFileName[MAX_PATH];
-	if( !compiler.GetObjectModule().source.ReadFile( SourceFileName ) ){
+	if( !compiler.source.ReadFile( SourceFileName ) ){
 		SetError(201,SourceFileName,-1);
 		goto EndCompile;
@@ -143,14 +143,4 @@
 	AllInitGlobalVarSize=0;
 
-
-	/*
-	int t,t2;
-	t=GetTickCount();
-	Compile();
-	t2=GetTickCount();
-	t2-=t;
-	char s[100];
-	sprintf(s,"%d",t2);
-	MessageBox(0,s,"test",0);*/
 	Compile();
 
Index: trunk/abdev/BasicCompiler_Common/include/Compiler.h
===================================================================
--- trunk/abdev/BasicCompiler_Common/include/Compiler.h	(revision 267)
+++ trunk/abdev/BasicCompiler_Common/include/Compiler.h	(revision 268)
@@ -34,4 +34,7 @@
 		return namespaceSupporter;
 	}
+
+	// ソースコード
+	BasicSource source;
 
 	// コード生成機構
Index: trunk/abdev/BasicCompiler_Common/include/Linker.h
===================================================================
--- trunk/abdev/BasicCompiler_Common/include/Linker.h	(revision 267)
+++ trunk/abdev/BasicCompiler_Common/include/Linker.h	(revision 268)
@@ -12,7 +12,4 @@
 	// データテーブル
 	DataTable dataTable;
-
-	// ソースコード
-	BasicSource source;
 
 	// XMLシリアライズ用
@@ -30,5 +27,4 @@
 		ar & BOOST_SERIALIZATION_NVP( globalNativeCode );
 		ar & BOOST_SERIALIZATION_NVP( dataTable );
-		ar & BOOST_SERIALIZATION_NVP( source );
 	}
 };
Index: trunk/abdev/BasicCompiler_Common/include/Source.h
===================================================================
--- trunk/abdev/BasicCompiler_Common/include/Source.h	(revision 267)
+++ trunk/abdev/BasicCompiler_Common/include/Source.h	(revision 268)
@@ -25,28 +25,4 @@
 	int length;
 
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	BOOST_SERIALIZATION_SPLIT_MEMBER();
-	template<class Archive> void load(Archive& ar, const unsigned int version)
-	{
-		trace_for_serialize( "serializing(load) - Text" );
-
-		std::string str;
-		ar & BOOST_SERIALIZATION_NVP( str );
-
-		// 読み込み後の処理
-		Clear();
-		Add( str );
-	}
-	template<class Archive> void save(Archive& ar, const unsigned int version) const
-	{
-		trace_for_serialize( "serializing(save) - Text" );
-
-		// 保存準備
-		std::string str( buffer, length );
-
-		ar & BOOST_SERIALIZATION_NVP( str );
-	}
 public:
 
@@ -68,4 +44,10 @@
 		length += (int)str.size();
 	}
+	void Add( const std::vector<char> &str )
+	{
+		buffer = (char *)realloc( buffer, length + str.size() + 1 );
+		lstrcpy( buffer + length, &str[0] );
+		length += (int)str.size();
+	}
 
 	bool ReadFile( const string &filePath );
@@ -82,14 +64,4 @@
 class BasicSource : public Text
 {
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	template<class Archive> void serialize(Archive& ar, const unsigned int version)
-	{
-		trace_for_serialize( "serializing - BasicSource" );
-
-		ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Text );
-	}
-
 	static const string generateDirectiveName;
 
