Changeset 350 in dev for trunk/abdev/BasicCompiler64/OperatorProc.cpp
- Timestamp:
- Oct 14, 2007, 9:41:03 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/OperatorProc.cpp
r345 r350 33 33 } 34 34 35 int CallOperatorProc(BYTE idCalc, const Type &baseType, int *type_stack,LONG_PTR *index_stack,BOOL *bUseHeap,int &sp){ 35 int CallOperatorProc(BYTE idCalc, const Type &baseType, int *type_stack,LONG_PTR *index_stack,BOOL *bUseHeap,int &sp) 36 { 37 Type leftType( type_stack[sp-2], index_stack[sp-2] ); 38 Type rightType( type_stack[sp-1] & (~FLAG_CAST), index_stack[sp-1] ); 39 36 40 //オーバーロードされたオペレータ関数を呼び出す 37 CClass *pobj_c; 38 pobj_c=(CClass *)index_stack[sp-2]; 41 const CClass *pobj_c = &leftType.GetClass(); 39 42 40 43 std::vector<const UserProc *> subs; … … 56 59 Parameters params; 57 60 58 if(bTwoTerm){ 59 params.push_back( new Parameter( "", Type( type_stack[sp-1], index_stack[sp-1] ) ) ); 61 if(bTwoTerm) 62 { 63 params.push_back( new Parameter( "", rightType ) ); 60 64 } 61 65 … … 94 98 } 95 99 96 int right_side_size = Type(type_stack[sp-1],index_stack[sp-1]).GetSize();100 int right_side_size = rightType.GetSize(); 97 101 98 102 if(bTwoTerm){
Note:
See TracChangeset
for help on using the changeset viewer.