Ignore:
Timestamp:
Aug 22, 2007, 3:46:23 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/NumOpe_GetType.cpp

    r290 r292  
    301301}
    302302
    303 bool GetTermType( const char *term, Type &resultType, bool &isLiteral, bool *pIsClassName ){
     303bool GetTermType( const char *term, Type &resultType, bool &isLiteral, bool *pIsClassName )
     304{
     305    if( (string)term=="a[1]")
     306    {
     307        int test=0;
     308    }
    304309    char parameter[VN_SIZE];
    305310
     
    390395                {
    391396                    // 型パラメータだったとき
     397
     398                    int ptrLevel = PTR_LEVEL( resultType.GetBasicType() );
     399
    392400                    if( leftType.HasActualGenericType() )
    393401                    {
     
    399407                        // TODO: ベースオブジェクト(指定されていないときはObjectクラス)にセットする
    400408                        resultType.SetBasicType( DEF_OBJECT );
     409                    }
     410
     411                    for( int i=0; i<ptrLevel; i++ )
     412                    {
     413                        resultType.PtrLevelUp();
    401414                    }
    402415                }
     
    513526    GetArrayElement(termFull,VarName,ArrayElements);
    514527    if(ArrayElements[0]){
    515         GetVarType(VarName,resultType,false);
    516         if( resultType.IsObject() ){
    517             if( !GetReturnTypeOfIndexerGetterProc( resultType.GetClass(),resultType) ){
     528        Type classType;
     529        GetVarType(VarName,classType,false);
     530        if( classType.IsObject() ){
     531            if( !GetReturnTypeOfIndexerGetterProc( classType, resultType ) ){
    518532                SetError(1,NULL,cp);
    519533                return false;
Note: See TracChangeset for help on using the changeset viewer.