Changeset 536 in dev for trunk/ab5.0/abdev/compiler_x86/Compile_ProcOp.cpp
- Timestamp:
- May 3, 2008, 6:32:50 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/compiler_x86/Compile_ProcOp.cpp
r533 r536 471 471 } 472 472 473 if( compiler.pCompilingClass){474 if( pUserProc->GetName() == compiler. pCompilingClass->GetName() ){473 if( compiler.IsCompilingClass() ){ 474 if( pUserProc->GetName() == compiler.GetCompilingClass().GetName() ){ 475 475 //////////////////////////////////// 476 476 // コンストラクタをコンパイルするとき … … 478 478 479 479 //コンストラクタのコンパイル開始を通知 480 compiler. pCompilingClass->NotifyStartConstructorCompile();480 compiler.GetCompilingClass().NotifyStartConstructorCompile(); 481 481 482 482 //基底クラスかどうかの識別 483 483 //(継承元がインターフェイスの場合も基底クラスと見なす) 484 484 BOOL bThisIsSuperClass; 485 if( !compiler. pCompilingClass->HasSuperClass() ) bThisIsSuperClass=1;486 else if( compiler. pCompilingClass->GetSuperClass().GetConstructorMethod() == NULL ){485 if( !compiler.GetCompilingClass().HasSuperClass() ) bThisIsSuperClass=1; 486 else if( compiler.GetCompilingClass().GetSuperClass().GetConstructorMethod() == NULL ){ 487 487 //インターフェイスを継承したときはコンストラクタを持たない 488 488 bThisIsSuperClass=1; … … 503 503 temporary[i4]=basbuf[i3]; 504 504 } 505 if( compiler. pCompilingClass->GetSuperClass().GetName() == temporary ){505 if( compiler.GetCompilingClass().GetSuperClass().GetName() == temporary ){ 506 506 //基底クラスのコンストラクタを呼び出す 507 507 cp=i3; … … 520 520 Type dummyType; 521 521 CallProc( PROC_DEFAULT 522 , &compiler. pCompilingClass->GetSuperClass().GetConstructorMethod()->GetUserProc()523 , compiler. pCompilingClass->GetSuperClass().GetConstructorMethod()->GetUserProc().GetName().c_str()522 , &compiler.GetCompilingClass().GetSuperClass().GetConstructorMethod()->GetUserProc() 523 , compiler.GetCompilingClass().GetSuperClass().GetConstructorMethod()->GetUserProc().GetName().c_str() 524 524 , temporary 525 525 , Type() // baseTypeはなし … … 530 530 //基底クラスのコンストラクタを暗黙的に呼び出す 531 531 Opcode_CallProc("", 532 &compiler. pCompilingClass->GetSuperClass().GetConstructorMethod()->GetUserProc(),532 &compiler.GetCompilingClass().GetSuperClass().GetConstructorMethod()->GetUserProc(), 533 533 0, 534 534 "" … … 541 541 542 542 //デストラクタのコンパイル開始を通知 543 compiler. pCompilingClass->NotifyStartDestructorCompile();543 compiler.GetCompilingClass().NotifyStartDestructorCompile(); 544 544 } 545 545 } … … 567 567 ////////////////////////////////////////// 568 568 569 if( compiler. pCompilingClass){570 571 if( compiler. pCompilingClass->IsCompilingConstructor() ){569 if( compiler.IsCompilingClass() ){ 570 571 if( compiler.GetCompilingClass().IsCompilingConstructor() ){ 572 572 // コンストラクタをコンパイルしていたとき 573 573 574 574 // コンストラクタのコンパイルが完了したことを通知 575 compiler. pCompilingClass->NotifyFinishConstructorCompile();575 compiler.GetCompilingClass().NotifyFinishConstructorCompile(); 576 576 } 577 577 else if( pUserProc->IsDestructor() ){ … … 581 581 582 582 // デストラクタのコンパイルが完了したことを通知 583 compiler. pCompilingClass->NotifyFinishDestructorCompile();584 585 if( compiler. pCompilingClass->HasSuperClass() ){583 compiler.GetCompilingClass().NotifyFinishDestructorCompile(); 584 585 if( compiler.GetCompilingClass().HasSuperClass() ){ 586 586 /* サブクラスのデストラクタをコンパイルしているときは、 587 587 基底クラスのデストラクタを呼び出す */ 588 588 589 const CMethod *method = compiler. pCompilingClass->GetSuperClass().GetDestructorMethod();589 const CMethod *method = compiler.GetCompilingClass().GetSuperClass().GetDestructorMethod(); 590 590 if( method ){ 591 591 Opcode_CallProc("",
Note:
See TracChangeset
for help on using the changeset viewer.