Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Class.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Class.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Class.h	(revision 639)
@@ -466,5 +466,5 @@
 	void GetReferenceOffsetsInitializeBuffer( std::string &referenceOffsetsBuffer, int &numOfReference, int baseOffset = 0 ) const;
 
-	virtual bool Resolve();
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Const.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Const.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Const.h	(revision 639)
@@ -66,5 +66,5 @@
 	double GetDoubleData();
 
-	virtual bool Resolve();
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 class Consts : public Jenga::Common::Hashmap<CConst>
@@ -154,5 +154,5 @@
 	}
 
-	virtual bool Resolve();
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 class ConstMacros
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/DataTable.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/DataTable.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/DataTable.h	(revision 639)
@@ -150,4 +150,4 @@
 	void ResetDataSectionBaseOffset( long dataSectionBaseOffset );
 
-	void Resolve();
+	void Resolve( const ObjectModule &resolver );
 };
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Delegate.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Delegate.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Delegate.h	(revision 639)
@@ -92,5 +92,5 @@
 	bool IsSimilar( const Delegate &dgt ) const;
 
-	virtual bool Resolve();
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 typedef Jenga::Common::Hashmap<Delegate> Delegates;
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Interface.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Interface.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Interface.h	(revision 639)
@@ -91,4 +91,6 @@
 
 	std::string GetFullNameWithActualGenericTypeParameters() const;
+
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 typedef std::vector<Interface *> Interfaces;
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Member.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Member.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Member.h	(revision 639)
@@ -76,4 +76,6 @@
 		return constructParameter;
 	}
+
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 typedef std::vector<Member *> Members;
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Meta.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Meta.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Meta.h	(revision 639)
@@ -98,4 +98,8 @@
 	}
 
+	const Classes &GetClasses() const
+	{
+		return *pNowClassesForDebugger;
+	}
 	Classes &GetClasses()
 	{
@@ -158,4 +162,4 @@
 	const CClass *FindClassSupportedTypeDef( const Symbol &symbol );
 
-	void Resolve();
+	void Resolve( const ObjectModule &resolver );
 };
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Method.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Method.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Method.h	(revision 639)
@@ -48,4 +48,6 @@
 	virtual bool IsNotUse() const = 0;
 	virtual void SetNotUseMark( bool isNotUse ) = 0;
+
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 
@@ -156,4 +158,6 @@
 		this->isNotUse = isNotUse;
 	}
+
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 BOOST_CLASS_EXPORT( DynamicMethod );
@@ -230,4 +234,6 @@
 		throw;
 	}
+
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 BOOST_CLASS_EXPORT( StaticMethod );
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/NativeCode.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/NativeCode.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/NativeCode.h	(revision 639)
@@ -116,4 +116,6 @@
 	const ::UserProc &GetUserProc() const;
 	const ::CClass &GetClass() const;
+
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 typedef std::vector<Schedule> Schedules;
@@ -247,4 +249,4 @@
 	void ResetRelationalObjectModuleIndex( const std::vector<int> &relationTable );
 
-	void Resolve();
+	void Resolve( const ObjectModule &resolver );
 };
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Procedure.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Procedure.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Procedure.h	(revision 639)
@@ -110,4 +110,6 @@
 		return returnType;
 	}
+
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 
@@ -158,4 +160,5 @@
 
 		ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Procedure );
+		ar & boost::serialization::make_nvp("pParentClass", const_cast<CClass *&>(pParentClass) );
 
 		if( ActiveBasic::Common::Environment::IsRemoveExternal() )
@@ -170,5 +173,4 @@
 		ar & BOOST_SERIALIZATION_NVP( _paramStr );
 		ar & BOOST_SERIALIZATION_NVP( importedNamespaces );
-		ar & boost::serialization::make_nvp("pParentClass", const_cast<CClass *&>(pParentClass) );
 		ar & boost::serialization::make_nvp("pInterface", const_cast<Interface *&>(pInterface) );
 		ar & BOOST_SERIALIZATION_NVP( pMethod );
@@ -374,5 +376,5 @@
 	const CMethod &GetMethod() const;
 
-	virtual bool Resolve();
+	virtual bool Resolve( const ObjectModule &resolver );
 
 	static const UserProc *pGlobalProc;
@@ -482,5 +484,5 @@
 	}
 
-	virtual bool Resolve();
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 class DllProcs : public Jenga::Common::Hashmap<DllProc>
@@ -523,5 +525,5 @@
 	}
 
-	virtual bool Resolve();
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/RelationalObjectModuleItem.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/RelationalObjectModuleItem.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/RelationalObjectModuleItem.h	(revision 639)
@@ -1,3 +1,5 @@
 #pragma once
+
+class ObjectModule;
 
 namespace ActiveBasic{ namespace Common{ namespace Lexical{
@@ -66,5 +68,5 @@
 	}
 
-	virtual bool Resolve() = 0;
+	virtual bool Resolve( const ObjectModule &resolver ) = 0;
 };
 
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Template.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Template.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Template.h	(revision 639)
@@ -46,4 +46,6 @@
 		return actualTypes;
 	}
+
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Type.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Type.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Type.h	(revision 639)
@@ -6,5 +6,6 @@
 typedef std::vector<GenericType> GenericTypes;
 
-class Type{
+class Type
+{
 	int basicType;
 	union{
@@ -229,4 +230,6 @@
 	std::string ToString() const;
 
+	virtual bool Resolve( const ObjectModule &resolver );
+
 
 private:
@@ -299,4 +302,8 @@
 		return type;
 	}
+	Type &GetType()
+	{
+		return type;
+	}
 };
 
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/TypeDef.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/TypeDef.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/TypeDef.h	(revision 639)
@@ -51,5 +51,5 @@
 	}
 
-	virtual bool Resolve();
+	virtual bool Resolve( const ObjectModule &resolver );
 };
 
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Variable.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Variable.h	(revision 637)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Variable.h	(revision 639)
@@ -175,5 +175,5 @@
 	}
 
-	virtual bool Resolve();
+	virtual bool Resolve( const ObjectModule &resolver );
 
 
