Changeset 282 in dev for trunk/abdev/BasicCompiler_Common/include
- Timestamp:
- Aug 14, 2007, 11:57:32 PM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler_Common/include
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/include/Class.h
r272 r282 360 360 int GetFuncNumInVtbl( const UserProc *pUserProc ) const; 361 361 LONG_PTR GetVtblGlobalOffset(void) const; 362 void GenerateVTables(); 362 363 void ActionVtblSchedule(LONG_PTR ImageBase, LONG_PTR MemPos_CodeSection); 363 364 bool IsAbstract() const; … … 387 388 virtual void CollectClassesForNameOnly( const BasicSource &source ); 388 389 390 void GenerateVTables(); 389 391 void ActionVtblSchedule(LONG_PTR ImageBase, LONG_PTR MemPos_CodeSection); 390 392 -
trunk/abdev/BasicCompiler_Common/include/CodeGenerator.h
r276 r282 448 448 void op_ret( short stackFrameSize ); 449 449 void op_addressof( int reg, const UserProc *pUserProc ); 450 void op_mov_RV_vtbl( int reg, const CClass *pClass ); 450 451 #endif 451 452 -
trunk/abdev/BasicCompiler_Common/include/Linker.h
r273 r282 34 34 void ResolveGlobalVarSchedules( long rwSectionBaseOffset ); 35 35 36 // vtblスケジュール 37 void ResolveVtblSchedule( long dataSectionBaseOffset ); 38 36 39 // リンク 37 40 void Link( ObjectModule &masterObjectModule ); -
trunk/abdev/BasicCompiler_Common/include/NativeCode.h
r280 r282 21 21 AddressOf, // ユーザ定義関数位置スケジュール 22 22 DllProc, // DLL関数位置スケジュール 23 Vtbl, // vtblスケジュール 23 24 }; 24 25 … … 31 32 const ::UserProc *pUserProc; 32 33 const ::DllProc *pDllProc; 34 const ::CClass *pClass; 33 35 }; 34 36 … … 52 54 ar & boost::serialization::make_nvp("pDllProc", const_cast<::DllProc *&>(pDllProc)); 53 55 break; 56 case Vtbl: 57 ar & boost::serialization::make_nvp("pClass", const_cast<::CClass *&>(pClass)); 58 break; 54 59 default: 55 60 ar & BOOST_SERIALIZATION_NVP( lpValue ); … … 80 85 { 81 86 } 87 Schedule( const ::CClass *pClass, long offset ) 88 : type( Schedule::Vtbl ) 89 , offset( offset ) 90 , pClass( pClass ) 91 { 92 } 82 93 ~Schedule() 83 94 { … … 111 122 } 112 123 return *pUserProc; 124 } 125 const ::CClass &GetClass() const 126 { 127 if( type != Schedule::Vtbl ) 128 { 129 SetError(); 130 } 131 return *pClass; 113 132 } 114 133 … … 360 379 void PutUserProcSchedule( const UserProc *pUserProc, bool isCall ); 361 380 void PutDllProcSchedule( const DllProc *pDllProc ); 381 void PutVtblSchedule( const CClass *pClass ); 362 382 void Put( short s ) 363 383 { -
trunk/abdev/BasicCompiler_Common/include/Source.h
r281 r282 176 176 bool isEqualBasbuf = false; 177 177 extern char *basbuf; 178 if( basbuf == buffer )178 if( basbuf == buffer + 2 ) 179 179 { 180 180 isEqualBasbuf = true;
Note:
See TracChangeset
for help on using the changeset viewer.