Changeset 193 in dev for trunk/abdev/BasicCompiler_Common/include
- Timestamp:
- Jun 26, 2007, 5:04:50 AM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler_Common/include
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/include/ClassImpl.h
r191 r193 14 14 { 15 15 } 16 17 virtual bool IsEqualSymbol( const NamespaceScopes &namespaceScopes, const string &name ) const; 16 18 17 19 //継承させる … … 62 64 virtual void Compile_System_InitializeUserTypes(); 63 65 66 virtual const CClass *Find( const NamespaceScopes &namespaceScopes, const string &name ) const; 67 64 68 65 69 // XMLシリアライズ用 -
trunk/abdev/BasicCompiler_Common/include/Compiler.h
r184 r193 2 2 3 3 #include <CodeGenerator.h> 4 #include <MetaImpl.h> 5 4 6 class Compiler 5 7 { 6 static NativeCode nativeCode; 8 NativeCode nativeCode; 9 MetaImpl metaImpl; 10 11 NamespaceScopesCollection importedNamespaces; 12 7 13 public: 8 staticNativeCode &GetNativeCode()14 NativeCode &GetNativeCode() 9 15 { 10 16 return nativeCode; 11 17 } 18 19 MetaImpl &GetMeta() 20 { 21 return metaImpl; 22 } 23 24 NamespaceScopesCollection &GetImportedNamespaces() 25 { 26 return importedNamespaces; 27 } 28 void SetImportedNamespaces( const NamespaceScopesCollection &namespaces ) 29 { 30 this->importedNamespaces = namespaces; 31 } 32 bool ImportsNamespace( const std::string &namespaceStr ) 33 { 34 NamespaceScopes namespaceScopes( namespaceStr ); 35 if( !this->GetMeta().GetNamespaces().IsExist( namespaceScopes ) ){ 36 return false; 37 } 38 39 this->importedNamespaces.push_back( namespaceScopes ); 40 41 return true; 42 } 43 44 static bool StringToType( const std::string &typeName, Type &type ); 45 static const std::string TypeToString( const Type &type ); 46 47 // 指定された名前空間が同一エリアと見なされるかどうかをチェック 48 bool IsSameAreaNamespace( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ){ 49 if( entryNamespaceScopes.size() ){ 50 if( baseNamespaceScopes.IsCoverd( entryNamespaceScopes ) ){ 51 // 包括しているときは同一と見なす 52 return true; 53 } 54 } 55 else{ 56 if( baseNamespaceScopes.size() ){ 57 // 名前空間の判断が必要なとき 58 if( this->importedNamespaces.IsImported( baseNamespaceScopes ) 59 || baseNamespaceScopes.IsLiving() ){ 60 // Using指定があるとき 61 // または 62 // 指定された名前空間が現在の名前空間スコープと同一のとき 63 return true; 64 } 65 } 66 else{ 67 return true; 68 } 69 } 70 71 return false; 72 } 12 73 }; 74 75 static Compiler compiler; -
trunk/abdev/BasicCompiler_Common/include/MetaImpl.h
r191 r193 7 7 #include <ClassImpl.h> 8 8 #include <ProcedureImpl.h> 9 #include <TypeDef.h> 9 10 10 11 class MetaImpl : public Meta 11 12 { 13 // 名前空間 14 NamespaceScopesCollection namespaceScopesCollection; 15 16 // クラス 12 17 ClassesImpl classesImpl; 13 18 Classes *pNowClassesForDebugger; 14 19 20 // blittable型 21 BlittableTypes blittableTypes; 22 23 // TypeDef 24 TypeDefCollection typeDefs; 25 15 26 public: 16 MetaImpl( ClassesImpl *pClasses)27 MetaImpl() 17 28 : Meta( new ProcPointersImpl() ) 18 29 , classesImpl() … … 20 31 { 21 32 } 22 MetaImpl() 23 : Meta()33 34 const NamespaceScopesCollection &GetNamespaces() const 24 35 { 36 return namespaceScopesCollection; 25 37 } 26 38 NamespaceScopesCollection &GetNamespaces() 39 { 40 return namespaceScopesCollection; 41 } 27 42 28 43 virtual Classes &GetClasses() … … 33 48 { 34 49 this->pNowClassesForDebugger = pClasses; 50 } 51 52 BlittableTypes &GetBlittableTypes() 53 { 54 return blittableTypes; 55 } 56 57 TypeDefCollection &GetTypeDefs() 58 { 59 return typeDefs; 35 60 } 36 61 -
trunk/abdev/BasicCompiler_Common/include/ProcedureImpl.h
r184 r193 49 49 } 50 50 51 virtual bool IsEqualSymbol( const NamespaceScopes &namespaceScopes, const string &name ) const; 52 51 53 virtual bool SetParamsAndReturnType( const char *sourceOfParams, int nowLine ); 52 54 }; -
trunk/abdev/BasicCompiler_Common/include/SmoothieImpl.h
r191 r193 9 9 { 10 10 friend Smoothie; 11 static MetaImpl metaImpl; 11 12 12 public: 13 13 SmoothieImpl() … … 15 15 { 16 16 } 17 18 // blittable型 19 BlittableTypes blittableTypes; 17 20 };
Note:
See TracChangeset
for help on using the changeset viewer.