Changeset 292 in dev for trunk/abdev/BasicCompiler_Common/NumOpe_GetType.cpp
- Timestamp:
- Aug 22, 2007, 3:46:23 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/NumOpe_GetType.cpp
r290 r292 301 301 } 302 302 303 bool GetTermType( const char *term, Type &resultType, bool &isLiteral, bool *pIsClassName ){ 303 bool GetTermType( const char *term, Type &resultType, bool &isLiteral, bool *pIsClassName ) 304 { 305 if( (string)term=="a[1]") 306 { 307 int test=0; 308 } 304 309 char parameter[VN_SIZE]; 305 310 … … 390 395 { 391 396 // 型パラメータだったとき 397 398 int ptrLevel = PTR_LEVEL( resultType.GetBasicType() ); 399 392 400 if( leftType.HasActualGenericType() ) 393 401 { … … 399 407 // TODO: ベースオブジェクト(指定されていないときはObjectクラス)にセットする 400 408 resultType.SetBasicType( DEF_OBJECT ); 409 } 410 411 for( int i=0; i<ptrLevel; i++ ) 412 { 413 resultType.PtrLevelUp(); 401 414 } 402 415 } … … 513 526 GetArrayElement(termFull,VarName,ArrayElements); 514 527 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 ) ){ 518 532 SetError(1,NULL,cp); 519 533 return false;
Note:
See TracChangeset
for help on using the changeset viewer.