Changeset 47 in dev for BasicCompiler64/Compile_CallProc.cpp
- Timestamp:
- Feb 10, 2007, 3:12:04 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler64/Compile_CallProc.cpp
r46 r47 246 246 psi->bUse=1; 247 247 248 BOOL bStatic=0;248 bool isStatic = false; 249 249 CClass *pobj_c = NULL; 250 250 CMethod *pMethod = NULL; … … 257 257 } 258 258 else{ 259 pobj_c=pobj_DBClass->check(ObjectName); 260 if(pobj_c){ 261 //静的メンバ 262 bStatic=1; 263 } 264 else{ 265 //"->"によってオブジェクトを指定する通常のメンバ関数呼び出し 266 GetVarType(ObjectName,(LONG_PTR *)&pobj_c,1); 259 //"->"によってオブジェクトを指定する通常のメンバ関数呼び出し 260 int type = GetVarType(ObjectName,(LONG_PTR *)&pobj_c,0); 261 if(!(NATURAL_TYPE(type)==DEF_OBJECT)){ 262 pobj_c=pobj_DBClass->check(ObjectName); 263 if( pobj_c ){ 264 isStatic = true; 265 } 266 else{ 267 SetError(300,NULL,cp); 268 } 267 269 } 268 270 } … … 284 286 ///////////////////////////////// 285 287 pMethod = NULL; 286 if( ! bStatic ) pMethod = pobj_c->GetMethodInfo( psi );288 if( ! isStatic ) pMethod = pobj_c->GetMethodInfo( psi ); 287 289 if( ! pMethod ){ 288 290 //動的メソッドが取得できなかったときは静的メソッドを当たる … … 294 296 295 297 //静的メンバ 296 bStatic=1;298 isStatic = true; 297 299 } 298 300 … … 339 341 340 342 char temporary[VN_SIZE]={0}; 341 if( psi->pobj_ParentClass&&bStatic==0){343 if( psi->pobj_ParentClass && isStatic == false ){ 342 344 //_System_LocalThis(第一パラメータ)のダミーを作成 343 345 lstrcpy(temporary,"0,"); … … 413 415 }//////////////////////////////////////////// 414 416 415 if( psi->pobj_ParentClass&&bStatic==0){417 if( psi->pobj_ParentClass && isStatic == false ){ 416 418 //mov rdx,r13 417 419 op_mov_RR(REG_RDX,REG_R13); … … 424 426 425 427 426 if( psi->pobj_ParentClass&&bStatic==0){428 if( psi->pobj_ParentClass && isStatic == false ){ 427 429 /////////////////////////////// 428 430 // メンバ関数の場合
Note:
See TracChangeset
for help on using the changeset viewer.