Changeset 293 in dev for trunk/abdev/BasicCompiler32


Ignore:
Timestamp:
Aug 22, 2007, 11:09:26 AM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev/BasicCompiler32
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/NumOpe.cpp

    r292 r293  
    455455    GetArrayElement(termFull,VarName,ArrayElements);
    456456    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() )
    460460        {
    461             CallIndexerGetterProc(/*UseReg,*/&resultType.GetClass(),VarName, leftType, ArrayElements,resultType);
     461            CallIndexerGetterProc(/*UseReg,*/classType,VarName, ArrayElements,resultType);
    462462
    463463            isLiteral = false;
  • trunk/abdev/BasicCompiler32/Opcode.h

    r292 r293  
    227227int CallOperatorProc(int idCalc, const Type &baseType, int *type_stack,LONG_PTR *index_stack,BOOL *bUseHeap,int &sp);
    228228void CallCastOperatorProc(Type &calcType,BOOL bCalcUseHeap,const Type &toType);
    229 void CallIndexerGetterProc(const CClass *pobj_Class,char *ObjectName, const Type &leftType, char *Parameter,Type &resultType);
     229void CallIndexerGetterProc( const Type &classType, char *ObjectName, char *Parameter,Type &resultType);
    230230
    231231//Compile_Statement.cpp
  • trunk/abdev/BasicCompiler32/OperatorProc.cpp

    r292 r293  
    252252    SetError(-1,"キャスト演算子がオーバーロードされていません。",cp);
    253253}
    254 void CallIndexerGetterProc(const CClass *pobj_Class,char *ObjectName, const Type &leftType, char *Parameter,Type &resultType){
     254void CallIndexerGetterProc( const Type &classType, char *ObjectName, char *Parameter,Type &resultType){
    255255    std::vector<const UserProc *> subs;
    256     pobj_Class->GetMethods().Enum( CALC_ARRAY_GET, subs );
     256    classType.GetClass().GetMethods().Enum( CALC_ARRAY_GET, subs );
    257257    if( subs.size() == 0 ){
    258258        return;
     
    272272        int ptrLevel = PTR_LEVEL( resultType.GetBasicType() );
    273273
    274         if( leftType.HasActualGenericType() )
     274        if( classType.HasActualGenericType() )
    275275        {
    276276            // TODO: GetDummyActualGenericTypeを適切な形に実装し直す
    277             resultType = leftType.GetDummyActualGenericType();
     277            resultType = classType.GetDummyActualGenericType();
    278278        }
    279279        else
Note: See TracChangeset for help on using the changeset viewer.