Changeset 350 in dev for trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp
- Timestamp:
- Oct 14, 2007, 9:41:03 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp
r331 r350 179 179 UserProc::CompileStartForUserProc( pBackUserProc ); 180 180 cp=BackCp; 181 } 182 else if( userProc.HasParentClass() 183 && userProc.IsCastOperator() 184 && userProc.ReturnType().IsInterface() ) 185 { 186 // インターフェイス型にキャストするためのメソッド 187 188 int vtblMasterListIndex = userProc.GetParentClass().GetVtblMasterListIndex( &userProc.ReturnType().GetClass() ); 189 190 char temporary[1024]; 191 sprintf( temporary, 192 "Return New %s(ObjPtr( This ),Get_LONG_PTR( (Get_LONG_PTR( ObjPtr(This) ) + SizeOf(LONG_PTR)*%d) As VoidPtr ) As VoidPtr )", 193 userProc.ReturnType().GetClass().GetName().c_str(), 194 vtblMasterListIndex 195 ); 196 MakeMiddleCode( temporary ); 197 198 ChangeOpcode( temporary ); 181 199 } 182 200 else{
Note:
See TracChangeset
for help on using the changeset viewer.