Changeset 174 in dev for trunk


Ignore:
Timestamp:
Jun 20, 2007, 4:30:20 AM (17 years ago)
Author:
dai_9181
Message:

LexicalScopeを移動

Location:
trunk/jenga
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/jenga/include/smoothie/Smoothie.h

    r172 r174  
    33#include "Source.h"
    44#include "ObjectModule.h"
     5#include "LexicalScoping.h"
    56
    67class Smoothie{
     
    2021        static NamespaceScopesCollection importedNamespaces;
    2122
     23        // コンパイル中のクラス
    2224        static const CClass *pCompilingClass;
     25
     26        // レキシカルスコープの状態
     27        static CLexicalScopes *pLexicalScopes;
    2328    };
    2429
  • trunk/jenga/projects/smoothie/smoothie.vcproj

    r173 r174  
    277277            </File>
    278278            <File
     279                RelativePath="..\..\src\smoothie\LexicalScoping.cpp"
     280                >
     281            </File>
     282            <File
    279283                RelativePath="..\..\src\smoothie\Method.cpp"
    280284                >
     
    335339            </File>
    336340            <File
     341                RelativePath="..\..\include\smoothie\LexicalScoping.h"
     342                >
     343            </File>
     344            <File
    337345                RelativePath="..\..\include\smoothie\Member.h"
    338346                >
  • trunk/jenga/src/smoothie/Smoothie.cpp

    r172 r174  
    77NamespaceScopesCollection Smoothie::Temp::importedNamespaces;
    88const CClass *Smoothie::Temp::pCompilingClass = NULL;
     9CLexicalScopes *Smoothie::Temp::pLexicalScopes = NULL;
    910
    1011bool Smoothie::isFullCompile = false;
  • trunk/jenga/src/smoothie/Variable.cpp

    r173 r174  
     1#include <jenga/include/smoothie/Smoothie.h>
    12#include <jenga/include/smoothie/Class.h>
    23
     
    2829        Variable &var = *(*this)[i];
    2930        if( var.bLiving                                         //現在のスコープで有効なもの
    30             && var.ScopeLevel == obj_LexScopes.GetNowLevel()    //現在のスコープと同一レベル
     31            && var.ScopeLevel == Smoothie::Temp::pLexicalScopes->GetNowLevel()  //現在のスコープと同一レベル
    3132            ){
    3233                if( var.IsEqualSymbol( symbol ) ){
     
    3839}
    3940
    40 const Variables::Variable *BackSearch( const Symbol &symbol ) const
     41const Variable *Variables::BackSearch( const Symbol &symbol ) const
    4142{
    4243    //レキシカルスコープを考慮してバックサーチ
     
    4445        Variable &var = *(*this)[i];
    4546        if( var.bLiving                                         //現在のスコープで有効なもの
    46             && var.ScopeLevel <= obj_LexScopes.GetNowLevel()    //現在のスコープレベルを超さないもの(Returnによる解放処理中を考慮)
     47            && var.ScopeLevel <= Smoothie::Temp::pLexicalScopes->GetNowLevel()  //現在のスコープレベルを超さないもの(Returnによる解放処理中を考慮)
    4748            ){
    4849                if( var.IsEqualSymbol( symbol ) ){
     
    5455}
    5556
    56 const Variables::Variable *Find( const Symbol &symbol )const
     57const Variable *Variables::Find( const Symbol &symbol )const
    5758{
    5859    int max = (int)this->size();
Note: See TracChangeset for help on using the changeset viewer.