Changeset 204 in dev for trunk/abdev/BasicCompiler_Common
- Timestamp:
- Jul 3, 2007, 3:49:56 AM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler_Common
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/error.cpp
r182 r204 480 480 pobj_tempClass=(CClass *)lpCalcIndex; 481 481 while(pobj_tempClass&&(!IS_LITERAL((LONG_PTR)pobj_tempClass))){ 482 pobj_tempClass= pobj_tempClass->pobj_InheritsClass;482 pobj_tempClass=&pobj_tempClass->GetSuperClass(); 483 483 484 484 if(lpVarIndex==(LONG_PTR)pobj_tempClass){ -
trunk/abdev/BasicCompiler_Common/src/ClassImpl.cpp
r199 r204 241 241 242 242 //継承先のクラスをメンバとして保持する 243 pobj_InheritsClass = &inheritsClass;243 SetSuperClass( &inheritsClass ); 244 244 245 245 return true; … … 807 807 else{ 808 808 //継承無し 809 pobj_c->pobj_InheritsClass=0; 810 811 //仮想関数の数を初期化 812 pobj_c->SetVtblNum( 0 ); 809 if( &pobj_c->GetSuperClass() || pobj_c->GetVtblNum() ) 810 { 811 // TODO: ここに来ないことが実証できたらこの分岐は消す 812 throw; 813 } 813 814 } 814 815 Interface_InheritsError: … … 939 940 940 941 if( pobj_c->GetName() == "Object" || dwClassType == ESC_TYPE ){ 941 // 継承無し942 pobj_c->pobj_InheritsClass = NULL;943 944 // 仮想関数の数を初期化945 pobj_c->SetVtblNum( 0 );942 if( &pobj_c->GetSuperClass() || pobj_c->GetVtblNum() ) 943 { 944 // TODO: ここに来ないことが実証できたらこの分岐は消す 945 throw; 946 } 946 947 } 947 948 else{ … … 1243 1244 } 1244 1245 1245 if( objClass. pobj_InheritsClass){1246 if( objClass.HasSuperClass() ){ 1246 1247 sprintf( temporary 1247 1248 , "tempType=Search(\"%s\",\"%s\")" … … 1256 1257 , "tempType.SetBaseType(Search(\"%s\",\"%s\"))" 1257 1258 , "" // 名前空間 (TODO: 実装) 1258 , objClass. pobj_InheritsClass->GetName().c_str() // 基底クラス名1259 , objClass.GetSuperClass().GetName().c_str() // 基底クラス名 1259 1260 ); 1260 1261
Note:
See TracChangeset
for help on using the changeset viewer.