Ignore:
Timestamp:
Jun 5, 2008, 10:04:39 PM (16 years ago)
Author:
dai_9181
Message:

ジェネリッククラスの型パラメータに値型が指定されたときに限り、テンプレート展開を行うようにした。

TODO: libファイルを跨ってテンプレート展開ができていないため、ソースコード管理部分に手を加える必要あり。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/BasicCompiler_Common/StrOperation.cpp

    r603 r632  
    365365            lstrcpy(name,"End Enum");
    366366            break;
     367        case ESC_OPERATOR:
     368            lstrcpy( name, "Operator" );
     369            break;
    367370    }
    368371}
     
    378381        if( temporary[i] == 1 )
    379382        {
     383            int esc = temporary[i+1];
    380384            char temp2[255];
    381             GetDefaultNameFromES( temporary[i+1], temp2 );
     385            GetDefaultNameFromES( esc, temp2 );
    382386            if( i>0 )
    383387            {
     
    391395            }
    392396
     397            int slide = 2;
     398
     399            if( esc == ESC_OPERATOR )
     400            {
     401                extern char *calcNames[256];
     402                char calcId = temporary[i+2];
     403                if( calcNames[calcId] )
     404                {
     405                    lstrcat( temp2, calcNames[calcId] );
     406                }
     407                slide = 3;
     408            }
     409
    393410            int length = lstrlen( temp2 );
    394             SlideString( temporary + i+2, length-2 );
     411            SlideString( temporary + i+slide, length-slide );
    395412            memcpy( temporary + i, temp2, length );
    396413            maxLength = lstrlen( temporary );
Note: See TracChangeset for help on using the changeset viewer.