Ignore:
Timestamp:
Mar 19, 2012, 1:59:48 AM (12 years ago)
Author:
イグトランス (egtra)
Message:

egtraブランチの内容をマージ。

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/ab5.0/abdev

    • Property svn:ignore set to
      *.opensdf
      *.sdf
      *.suo
      *.user
      int
      ipch
      out
  • trunk/ab5.0/abdev/BasicCompiler_Common/hash.cpp

    r598 r828  
    1313using namespace ActiveBasic::Compiler;
    1414
    15 int hash_default(const char *name){
    16     int key;
    17 
    18     for(key=0;*name!='\0';name++){
    19         key=((key<<8)+ *name )%MAX_HASH;
    20     }
    21 
    22     return key;
    23 }
    24 
    2515DllProc *GetDeclareHash(const char *fullName){
    2616    char namespaceStr[VN_SIZE];     //オブジェクト変数
     
    3222    ///////////////////////////
    3323
     24    auto const s = LexicalAnalyzer::FullNameToSymbol( fullName );
     25
    3426    // ハッシュ値を取得
    35     DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().GetHashArrayElement( simpleName );
    36     while(pDllProc){
    37         if( pDllProc->IsEqualSymbol( LexicalAnalyzer::FullNameToSymbol( fullName ) ) ){
     27    foreach (auto pDllProc, compiler.GetObjectModule().meta.GetDllProcs().GetHashArrayElement(simpleName))
     28    {
     29        if( pDllProc->IsEqualSymbol( s ) )
     30        {
    3831            return pDllProc;
    3932        }
    40 
    41         pDllProc=pDllProc->GetChainNext();
    4233    }
    4334
Note: See TracChangeset for help on using the changeset viewer.