Changeset 304 in dev for trunk/abdev/BasicCompiler32/Compile_CallProc.cpp
- Timestamp:
- Aug 26, 2007, 2:54:38 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/Compile_CallProc.cpp
r301 r304 105 105 const CMethod *pMethod = NULL; 106 106 Type leftType; 107 bool isFixedClass = false; 107 108 if( pUserProc->GetParentClassPtr() ){ 108 109 //クラスのメンバ関数を呼び出す場合はアクセスチェックを行う 109 if(ObjectName[0] && (dwFlags&PROCFLAG_NEW)==0){ 110 if(lstrcmpi(ObjectName,"Super")==0){ 110 if(ObjectName[0] && (dwFlags&PROCFLAG_NEW)==0) 111 { 112 if(lstrcmpi(ObjectName,"Super")==0) 113 { 111 114 //クラスメンバ関数内から基底クラスの呼び出し 112 pobj_c=compiler.pCompilingClass; 113 } 114 else{ 115 pobj_c=&compiler.pCompilingClass->GetSuperClass(); 116 117 isFixedClass = true; 118 } 119 else 120 { 115 121 //"->"によってオブジェクトを指定する通常のメンバ関数呼び出し 116 122 Type varType; … … 313 319 } 314 320 315 if( pUserProc->IsVirtual() ){321 if( pUserProc->IsVirtual() && !isFixedClass ){ 316 322 //仮想関数(オブジェクトメソッド)呼び出し 317 323 //pObj->func_table->func1
Note:
See TracChangeset
for help on using the changeset viewer.