Ignore:
Timestamp:
Mar 2, 2008, 4:36:33 AM (17 years ago)
Author:
dai_9181
Message:

Enumを大改修。Enumメンバ初期値にリテラル、定数、Enumメンバを指定できるようにした。また、エラー行数を正確に表示可能にした。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Class.cpp

    r402 r406  
    1515#include "../../BasicCompiler32/opcode.h"
    1616#endif
     17
     18#include <../Enum.h>
    1719
    1820
     
    10681070        }
    10691071
     1072        // コンパイル中クラスとしてセット
     1073        compiler.pCompilingClass = &objClass;
     1074
     1075        const EnumInfo *pEnumInfo = NULL;
     1076        if( objClass.IsEnum() )
     1077        {
     1078            pEnumInfo = compiler.enumInfoCollection.Find( objClass );
     1079        }
     1080
    10701081        int i=0;
    1071         BOOST_FOREACH( CMember *member, objClass.GetStaticMembers() ){
     1082        BOOST_FOREACH( CMember *member, objClass.GetStaticMembers() )
     1083        {
     1084            if( pEnumInfo )
     1085            {
     1086                cp = pEnumInfo->GetEnumMember( member->GetName() ).GetSourceIndex();
     1087            }
     1088
    10721089            char temporary[VN_SIZE];
    10731090            sprintf(temporary,"%s.%s",objClass.GetName().c_str(),member->GetName().c_str());
     
    10821099            i++;
    10831100        }
     1101
     1102        compiler.pCompilingClass = NULL;
    10841103    }
    10851104
Note: See TracChangeset for help on using the changeset viewer.