Changeset 293 in dev for trunk/abdev/BasicCompiler32
- Timestamp:
- Aug 22, 2007, 11:09:26 AM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler32
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/NumOpe.cpp
r292 r293 455 455 GetArrayElement(termFull,VarName,ArrayElements); 456 456 if(ArrayElements[0]){ 457 Type leftType;458 GetVarType(VarName, leftType,false);459 if( leftType.IsObject() )457 Type classType; 458 GetVarType(VarName,classType,false); 459 if( classType.IsObject() ) 460 460 { 461 CallIndexerGetterProc(/*UseReg,*/ &resultType.GetClass(),VarName, leftType, ArrayElements,resultType);461 CallIndexerGetterProc(/*UseReg,*/classType,VarName, ArrayElements,resultType); 462 462 463 463 isLiteral = false; -
trunk/abdev/BasicCompiler32/Opcode.h
r292 r293 227 227 int CallOperatorProc(int idCalc, const Type &baseType, int *type_stack,LONG_PTR *index_stack,BOOL *bUseHeap,int &sp); 228 228 void CallCastOperatorProc(Type &calcType,BOOL bCalcUseHeap,const Type &toType); 229 void CallIndexerGetterProc( const CClass *pobj_Class,char *ObjectName, const Type &leftType, char *Parameter,Type &resultType);229 void CallIndexerGetterProc( const Type &classType, char *ObjectName, char *Parameter,Type &resultType); 230 230 231 231 //Compile_Statement.cpp -
trunk/abdev/BasicCompiler32/OperatorProc.cpp
r292 r293 252 252 SetError(-1,"キャスト演算子がオーバーロードされていません。",cp); 253 253 } 254 void CallIndexerGetterProc( const CClass *pobj_Class,char *ObjectName, const Type &leftType, char *Parameter,Type &resultType){254 void CallIndexerGetterProc( const Type &classType, char *ObjectName, char *Parameter,Type &resultType){ 255 255 std::vector<const UserProc *> subs; 256 pobj_Class->GetMethods().Enum( CALC_ARRAY_GET, subs );256 classType.GetClass().GetMethods().Enum( CALC_ARRAY_GET, subs ); 257 257 if( subs.size() == 0 ){ 258 258 return; … … 272 272 int ptrLevel = PTR_LEVEL( resultType.GetBasicType() ); 273 273 274 if( leftType.HasActualGenericType() )274 if( classType.HasActualGenericType() ) 275 275 { 276 276 // TODO: GetDummyActualGenericTypeを適切な形に実装し直す 277 resultType = leftType.GetDummyActualGenericType();277 resultType = classType.GetDummyActualGenericType(); 278 278 } 279 279 else
Note:
See TracChangeset
for help on using the changeset viewer.