Changeset 304 in dev for trunk/abdev/BasicCompiler64/Compile_CallProc.cpp
- Timestamp:
- Aug 26, 2007, 2:54:38 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_CallProc.cpp
r266 r304 113 113 const CClass *pobj_c = NULL; 114 114 const CMethod *pMethod = NULL; 115 Type leftType; 116 bool isFixedClass = false; 115 117 if( pUserProc->GetParentClassPtr() ){ 116 118 //クラスのメンバ関数を呼び出す場合はアクセスチェックを行う 117 if(ObjectName[0] && (dwFlags&PROCFLAG_NEW)==0){ 118 if(lstrcmpi(ObjectName,"Super")==0){ 119 if(ObjectName[0] && (dwFlags&PROCFLAG_NEW)==0) 120 { 121 if(lstrcmpi(ObjectName,"Super")==0) 122 { 119 123 //クラスメンバ関数内から基底クラスの呼び出し 120 pobj_c=compiler.pCompilingClass; 121 } 122 else{ 124 pobj_c=&compiler.pCompilingClass->GetSuperClass(); 125 126 isFixedClass = true; 127 } 128 else 129 { 123 130 //"->"によってオブジェクトを指定する通常のメンバ関数呼び出し 124 131 Type varType; … … 336 343 } 337 344 338 if( pUserProc->IsVirtual() ){345 if( pUserProc->IsVirtual() && !isFixedClass ){ 339 346 //仮想関数(オブジェクトメソッド)呼び出し 340 347 //pObj->func_table->func1
Note:
See TracChangeset
for help on using the changeset viewer.