Changeset 131 in dev for BasicCompiler64
- Timestamp:
- Jun 4, 2007, 7:49:17 AM (17 years ago)
- Location:
- BasicCompiler64
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler64/BasicCompiler.vcproj
r128 r131 492 492 </File> 493 493 <File 494 RelativePath="..\BasicCompiler_Common\include\Prototype.h" 495 > 496 </File> 497 <File 494 498 RelativePath="..\BasicCompiler_Common\Type.h" 495 499 > … … 1127 1131 > 1128 1132 <File 1133 RelativePath=".\Compile_Interface.cpp" 1134 > 1135 </File> 1136 <File 1129 1137 RelativePath=".\Compile_Object.cpp" 1130 1138 > -
BasicCompiler64/Compile_Object.cpp
r123 r131 34 34 35 35 std::vector<UserProc *> subs; 36 pobj_c->EnumMethod( pobj_c-> name, subs );36 pobj_c->EnumMethod( pobj_c->GetName().c_str(), subs ); 37 37 38 38 UserProc *pUserProc; 39 39 if( subs.size() > 0 ){ 40 40 //オーバーロードを解決 41 pUserProc=OverloadSolutionWithStrParam(pobj_c-> name,41 pUserProc=OverloadSolutionWithStrParam(pobj_c->GetName().c_str(), 42 42 subs,CreateParameter,""); 43 43 … … 57 57 if( subs.size() == 1 ){ 58 58 char temporary[VN_SIZE]; 59 sprintf( temporary, "_System_TypeBase.Search(\"\",\"%s\"))", pobj_c-> name);59 sprintf( temporary, "_System_TypeBase.Search(\"\",\"%s\"))", pobj_c->GetName().c_str() ); 60 60 61 61 Opcode_CallProc(temporary, … … 97 97 if(classObj.IsAbstract()){ 98 98 //抽象クラスだったとき 99 SetError(125,classObj. name,cp);99 SetError(125,classObj.GetName().c_str(),cp); 100 100 } 101 101 -
BasicCompiler64/Compile_ProcOp.cpp
r129 r131 206 206 if( userProc.GetName() == "InitializeUserTypes" 207 207 && userProc.HasParentClass() 208 && (string)userProc.GetParentClass().name== "_System_TypeBase" ){208 && userProc.GetParentClass().GetName() == "_System_TypeBase" ){ 209 209 210 210 pobj_DBClass->Compile_System_InitializeUserTypes(); … … 212 212 else if( userProc.GetName() == "RegisterGlobalRoots" 213 213 && userProc.HasParentClass() 214 && (string)userProc.GetParentClass().name== "_System_CGarbageCollection" ){214 && userProc.GetParentClass().GetName() == "_System_CGarbageCollection" ){ 215 215 216 216 Compile_AddGlobalRootsForGc(); … … 503 503 504 504 if(pobj_CompilingClass){ 505 if( pUserProc->GetName() == pobj_CompilingClass-> name){505 if( pUserProc->GetName() == pobj_CompilingClass->GetName() ){ 506 506 //////////////////////////////////// 507 507 // コンストラクタをコンパイルするとき … … 534 534 temporary[i4]=basbuf[i3]; 535 535 } 536 if(lstrcmp(temporary, 537 pobj_CompilingClass->pobj_InheritsClass->name)==0){ 536 if( pobj_CompilingClass->pobj_InheritsClass->GetName() == temporary ){ 538 537 //基底クラスのコンストラクタを呼び出す 539 538 cp=i3; -
BasicCompiler64/Compile_Var.cpp
r129 r131 558 558 //自身のクラスから静的メンバを参照する場合 559 559 char temp2[VN_SIZE]; 560 sprintf(temp2,"%s.%s",pobj_CompilingClass-> name,VarName);560 sprintf(temp2,"%s.%s",pobj_CompilingClass->GetName().c_str(),VarName); 561 561 pVar = globalVars.Find( temp2 ); 562 562 if( pVar ){ -
BasicCompiler64/NumOpe.cpp
r129 r131 678 678 )){ 679 679 // ダウンキャストを許可する 680 } 681 else if( idCalc == CALC_AS 682 && type_stack[sp-1] == ( DEF_OBJECT | FLAG_CAST ) && ((CClass *)index_stack[sp-1])->IsInterface() 683 ){ 684 // インターフェイスへのキャスト 685 // TODO: 実装 686 CastToInterface( pobj_reg->GetLockingReg(), REG_R15, *(CClass *)index_stack[sp-2], *(CClass *)index_stack[sp-1] ); 680 687 } 681 688 else{ -
BasicCompiler64/Opcode.h
r129 r131 245 245 BOOL IsXmmReg(int reg); 246 246 BOOL IsVolatileReg(int reg); 247 void IfR14Push( int reg ); 247 248 248 249 //Compile_Calc.cpp … … 311 312 void SetXmmReg_SingleVariable(RELATIVE_VAR *pRelativeVar,int xmm_reg); 312 313 void SetReg_WholeVariable(int type,RELATIVE_VAR *pRelativeVar,int reg); 314 315 //Compile_Interface.cpp 316 bool CastToInterface( int reg, int vtblReg, const CClass &baseClass, const CClass &interfaceClass ); 313 317 314 318 //Compile_Object.cpp -
BasicCompiler64/Register.cpp
r19 r131 308 308 } 309 309 } 310 311 void IfR14Push( int reg ){ 312 if( reg == REG_R14 ){ 313 //mov qword ptr[rsp+offset],r14 ※スタックフレームを利用 314 pobj_sf->push( REG_R14 ); 315 } 316 }
Note:
See TracChangeset
for help on using the changeset viewer.