Changeset 204 in dev for trunk/abdev/BasicCompiler64
- Timestamp:
- Jul 3, 2007, 3:49:56 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp
r202 r204 523 523 //(継承元がインターフェイスの場合も基底クラスと見なす) 524 524 BOOL bThisIsSuperClass; 525 if( Smoothie::Temp::pCompilingClass->pobj_InheritsClass==0) bThisIsSuperClass=1;526 else if( Smoothie::Temp::pCompilingClass-> pobj_InheritsClass->GetConstructorMethod() == NULL ){525 if( !Smoothie::Temp::pCompilingClass->HasSuperClass() ) bThisIsSuperClass=1; 526 else if( Smoothie::Temp::pCompilingClass->GetSuperClass().GetConstructorMethod() == NULL ){ 527 527 //インターフェイスを継承したときはコンストラクタを持たない 528 528 bThisIsSuperClass=1; … … 543 543 temporary[i4]=basbuf[i3]; 544 544 } 545 if( Smoothie::Temp::pCompilingClass-> pobj_InheritsClass->GetName() == temporary ){545 if( Smoothie::Temp::pCompilingClass->GetSuperClass().GetName() == temporary ){ 546 546 //基底クラスのコンストラクタを呼び出す 547 547 cp=i3; … … 560 560 Type dummyType; 561 561 CallProc( PROC_DEFAULT 562 , Smoothie::Temp::pCompilingClass-> pobj_InheritsClass->GetConstructorMethod()->pUserProc563 , Smoothie::Temp::pCompilingClass-> pobj_InheritsClass->GetConstructorMethod()->pUserProc->GetName().c_str()562 , Smoothie::Temp::pCompilingClass->GetSuperClass().GetConstructorMethod()->pUserProc 563 , Smoothie::Temp::pCompilingClass->GetSuperClass().GetConstructorMethod()->pUserProc->GetName().c_str() 564 564 , temporary 565 565 , dummyType ); … … 568 568 //基底クラスのコンストラクタを暗黙的に呼び出す 569 569 Opcode_CallProc("", 570 Smoothie::Temp::pCompilingClass-> pobj_InheritsClass->GetConstructorMethod()->pUserProc,570 Smoothie::Temp::pCompilingClass->GetSuperClass().GetConstructorMethod()->pUserProc, 571 571 0, 572 572 "", … … 640 640 Smoothie::Temp::pCompilingClass->NotifyFinishDestructorCompile(); 641 641 642 if( Smoothie::Temp::pCompilingClass->pobj_InheritsClass){642 if( Smoothie::Temp::pCompilingClass->HasSuperClass() ){ 643 643 /* サブクラスのデストラクタをコンパイルしているときは、 644 644 基底クラスのデストラクタを呼び出す */ 645 645 646 const CMethod *method = Smoothie::Temp::pCompilingClass-> pobj_InheritsClass->GetDestructorMethod();646 const CMethod *method = Smoothie::Temp::pCompilingClass->GetSuperClass().GetDestructorMethod(); 647 647 if( method ){ 648 648 Opcode_CallProc("",
Note:
See TracChangeset
for help on using the changeset viewer.