- Timestamp:
- Jun 21, 2007, 3:26:21 AM (17 years ago)
- Location:
- trunk/jenga
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/jenga/include/smoothie/Class.h
r173 r180 315 315 BOOL MemberVar_LoopRefCheck(const CClass &objClass); 316 316 public: 317 void GetAllClassInfo(void); 318 void Compile_System_InitializeUserTypes(); 317 318 // 実体収集 319 virtual void CollectClassesForNameOnly( const BasicSource &source ) = 0; 320 virtual void GetAllClassInfo() = 0; 321 virtual void Compile_System_InitializeUserTypes() = 0; 322 virtual void InitStaticMember() = 0; 319 323 320 324 -
trunk/jenga/include/smoothie/Member.h
r171 r180 75 75 { 76 76 } 77 static void InitStaticMember(void);78 77 }; 79 78 typedef std::vector<CMember *> Members; -
trunk/jenga/include/smoothie/ObjectModule.h
r172 r180 8 8 // プロジェクト中に存在するメタ情報 9 9 class Meta{ 10 Classes *pClasses; 10 11 public: 12 13 Meta( Classes *pNewClasses ) 14 : pClasses( pNewClasses ) 15 { 16 } 17 ~Meta() 18 { 19 delete pClasses; 20 } 21 11 22 // 名前空間 12 23 NamespaceScopesCollection namespaceScopesCollection; 13 24 14 25 // クラス 15 Classes classes; 26 Classes &GetClasses() 27 { 28 return *pClasses; 29 } 16 30 17 31 // TypeDef -
trunk/jenga/src/smoothie/Class.cpp
r173 r180 140 140 141 141 //継承元クラスを取得 142 const CClass *pInheritsClass = Smoothie::meta. classes.Find(temporary);142 const CClass *pInheritsClass = Smoothie::meta.GetClasses().Find(temporary); 143 143 if( !pInheritsClass ){ 144 144 throw SmoothieException(106,temporary,nowLine); … … 170 170 if( !isInheritsClass ){ 171 171 // クラスを一つも継承していないとき 172 const CClass *pObjectClass = Smoothie::meta. classes.Find("Object");172 const CClass *pObjectClass = Smoothie::meta.GetClasses().Find("Object"); 173 173 if( !pObjectClass ){ 174 174 throw SmoothieException(106,"Object",i); … … 194 194 195 195 //継承元クラスを取得 196 const CClass *pInheritsClass = Smoothie::meta. classes.Find(temporary);196 const CClass *pInheritsClass = Smoothie::meta.GetClasses().Find(temporary); 197 197 if( !pInheritsClass ){ 198 198 throw SmoothieException(106,temporary,nowLine); … … 234 234 //継承先が読み取られていないとき 235 235 pobj_LoopRefCheck->add(this->GetName().c_str()); 236 Smoothie::meta. classes.GetClass_recur(inheritsClass.GetName().c_str());236 Smoothie::meta.GetClasses().GetClass_recur(inheritsClass.GetName().c_str()); 237 237 pobj_LoopRefCheck->del(this->GetName().c_str()); 238 238 } … … 296 296 //継承先が読み取られていないとき 297 297 pobj_LoopRefCheck->add(this->GetName().c_str()); 298 Smoothie::meta. classes.GetClass_recur(inheritsInterface.GetName().c_str());298 Smoothie::meta.GetClasses().GetClass_recur(inheritsInterface.GetName().c_str()); 299 299 pobj_LoopRefCheck->del(this->GetName().c_str()); 300 300 } -
trunk/jenga/src/smoothie/Smoothie.cpp
r174 r180 4 4 NamespaceScopes Smoothie::Lexical::liveingNamespaceScopes; 5 5 6 Meta Smoothie::meta;7 6 NamespaceScopesCollection Smoothie::Temp::importedNamespaces; 8 7 const CClass *Smoothie::Temp::pCompilingClass = NULL; -
trunk/jenga/src/smoothie/Type.cpp
r173 r180 93 93 // Object型だったとき 94 94 if( typeName == "Object" ){ 95 type.SetType( DEF_OBJECT, Smoothie::meta. classes.GetObjectClassPtr() );95 type.SetType( DEF_OBJECT, Smoothie::meta.GetClasses().GetObjectClassPtr() ); 96 96 return true; 97 97 } … … 99 99 // String型だったとき 100 100 if( typeName == "String" ){ 101 type.SetType( DEF_OBJECT, Smoothie::meta. classes.GetStringClassPtr() );101 type.SetType( DEF_OBJECT, Smoothie::meta.GetClasses().GetStringClassPtr() ); 102 102 return true; 103 103 } … … 114 114 115 115 //クラス 116 const CClass *pobj_c = Smoothie::meta. classes.Find( typeName );116 const CClass *pobj_c = Smoothie::meta.GetClasses().Find( typeName ); 117 117 if(pobj_c){ 118 118 type.pClass = pobj_c; … … 539 539 540 540 Type Type::String(){ 541 return Type( DEF_OBJECT, *Smoothie::meta. classes.GetStringClassPtr() );541 return Type( DEF_OBJECT, *Smoothie::meta.GetClasses().GetStringClassPtr() ); 542 542 }*/ 543 543
Note:
See TracChangeset
for help on using the changeset viewer.