- Timestamp:
- Jun 20, 2007, 4:30:20 AM (17 years ago)
- Location:
- trunk/jenga
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/jenga/include/smoothie/Smoothie.h
r172 r174 3 3 #include "Source.h" 4 4 #include "ObjectModule.h" 5 #include "LexicalScoping.h" 5 6 6 7 class Smoothie{ … … 20 21 static NamespaceScopesCollection importedNamespaces; 21 22 23 // コンパイル中のクラス 22 24 static const CClass *pCompilingClass; 25 26 // レキシカルスコープの状態 27 static CLexicalScopes *pLexicalScopes; 23 28 }; 24 29 -
trunk/jenga/projects/smoothie/smoothie.vcproj
r173 r174 277 277 </File> 278 278 <File 279 RelativePath="..\..\src\smoothie\LexicalScoping.cpp" 280 > 281 </File> 282 <File 279 283 RelativePath="..\..\src\smoothie\Method.cpp" 280 284 > … … 335 339 </File> 336 340 <File 341 RelativePath="..\..\include\smoothie\LexicalScoping.h" 342 > 343 </File> 344 <File 337 345 RelativePath="..\..\include\smoothie\Member.h" 338 346 > -
trunk/jenga/src/smoothie/Smoothie.cpp
r172 r174 7 7 NamespaceScopesCollection Smoothie::Temp::importedNamespaces; 8 8 const CClass *Smoothie::Temp::pCompilingClass = NULL; 9 CLexicalScopes *Smoothie::Temp::pLexicalScopes = NULL; 9 10 10 11 bool Smoothie::isFullCompile = false; -
trunk/jenga/src/smoothie/Variable.cpp
r173 r174 1 #include <jenga/include/smoothie/Smoothie.h> 1 2 #include <jenga/include/smoothie/Class.h> 2 3 … … 28 29 Variable &var = *(*this)[i]; 29 30 if( var.bLiving //現在のスコープで有効なもの 30 && var.ScopeLevel == obj_LexScopes.GetNowLevel() //現在のスコープと同一レベル31 && var.ScopeLevel == Smoothie::Temp::pLexicalScopes->GetNowLevel() //現在のスコープと同一レベル 31 32 ){ 32 33 if( var.IsEqualSymbol( symbol ) ){ … … 38 39 } 39 40 40 const Variable s::Variable *BackSearch( const Symbol &symbol ) const41 const Variable *Variables::BackSearch( const Symbol &symbol ) const 41 42 { 42 43 //レキシカルスコープを考慮してバックサーチ … … 44 45 Variable &var = *(*this)[i]; 45 46 if( var.bLiving //現在のスコープで有効なもの 46 && var.ScopeLevel <= obj_LexScopes.GetNowLevel() //現在のスコープレベルを超さないもの(Returnによる解放処理中を考慮)47 && var.ScopeLevel <= Smoothie::Temp::pLexicalScopes->GetNowLevel() //現在のスコープレベルを超さないもの(Returnによる解放処理中を考慮) 47 48 ){ 48 49 if( var.IsEqualSymbol( symbol ) ){ … … 54 55 } 55 56 56 const Variable s::Variable *Find( const Symbol &symbol )const57 const Variable *Variables::Find( const Symbol &symbol )const 57 58 { 58 59 int max = (int)this->size();
Note:
See TracChangeset
for help on using the changeset viewer.