Ignore:
Timestamp:
Mar 19, 2012, 1:59:48 AM (13 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/Diagnose.cpp

    r750 r828  
    3434        int codeSizeOfGlobalProc = 0;
    3535        int codeSizeOfClassMethod = 0;
    36         compiler.GetObjectModule().meta.GetUserProcs().Iterator_Reset();
    37         while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() )
     36        foreach (auto pUserProc, compiler.GetObjectModule().meta.GetUserProcs())
    3837        {
    39             UserProc *pUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();
    4038            if( pUserProc->IsCompiled() ){
    4139                if( pUserProc->HasParentClass() ){
     
    6058        int codeSizeOfEnum = 0;
    6159
    62         // イテレータをリセット
    63         compiler.GetObjectModule().meta.GetClasses().Iterator_Reset();
    64 
    65         while( compiler.GetObjectModule().meta.GetClasses().Iterator_HasNext() ){
     60        foreach (auto pClass, compiler.GetObjectModule().meta.GetClasses())
     61        {
    6662            int codeSizeOfClass = 0;
    6763
    68             CClass &objClass = *compiler.GetObjectModule().meta.GetClasses().Iterator_GetNext();
     64            CClass &objClass = *pClass;
    6965
    7066            if( !objClass.IsEnum() ){
     
    8278            // 静的メソッド
    8379            foreach( const CMethod *pMethod, objClass.GetStaticMethods() ){
    84                     codeSizeOfClass += pMethod->GetUserProc().GetCodeSize();
     80                codeSizeOfClass += pMethod->GetUserProc().GetCodeSize();
    8581            }
    8682
     
    9995        ///////////////////////////////////////////////////////////////////
    10096
    101         // イテレータをリセット
    102         compiler.GetObjectModule().meta.GetClasses().Iterator_Reset();
    103 
    104         while( compiler.GetObjectModule().meta.GetClasses().Iterator_HasNext() ){
     97        foreach (auto pClass, compiler.GetObjectModule().meta.GetClasses())
     98        {
    10599            int codeSizeOfClass = 0;
    106100
    107             CClass &objClass = *compiler.GetObjectModule().meta.GetClasses().Iterator_GetNext();
     101            CClass &objClass = *pClass;
    108102
    109103            // 動的メソッド
     
    116110            // 静的メソッド
    117111            foreach( const CMethod *pMethod, objClass.GetStaticMethods() ){
    118                     codeSizeOfClass += pMethod->GetUserProc().GetCodeSize();
     112                codeSizeOfClass += pMethod->GetUserProc().GetCodeSize();
    119113            }
    120114
    121             if( codeSizeOfClass ){
    122                 temporary[0]=0;
    123                 lstrcat( temporary, "------------------------------------------------------------------\n" );
    124                 sprintf( temporary + lstrlen(temporary), "【 %s クラスのコード情報】\n", objClass.GetName().c_str() );
    125                 sprintf( temporary + lstrlen(temporary), "class code size: %d bytes\n", codeSizeOfClass );
    126                 lstrcat( temporary, "------------------------------------------------------------------\n" );
    127                 lstrcat( temporary, "\n" );
     115            if( codeSizeOfClass )
     116            {
     117                sprintf(temporary,
     118                    "------------------------------------------------------------------\n"
     119                    "【 %s クラスのコード情報】\n"
     120                    "class code size: %d bytes\n"
     121                    "------------------------------------------------------------------\n"
     122                    "\n",
     123                    objClass.GetName().c_str(), codeSizeOfClass);
    128124                trace_for_size( temporary );
    129125            }
Note: See TracChangeset for help on using the changeset viewer.