Changeset 49 in dev for BasicCompiler32/Compile_Var.cpp
- Timestamp:
- Feb 10, 2007, 6:13:37 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler32/Compile_Var.cpp
r40 r49 362 362 extern BOOL bCompilingGlobal; 363 363 int i,RefType; 364 LONG_PTR lpIndex; 364 365 char variable[VN_SIZE],member[VN_SIZE],VarName[VN_SIZE],array[VN_SIZE],lpPtrOffset[VN_SIZE]; 365 366 … … 370 371 else lstrcpy(variable,NameBuffer); 371 372 373 374 if( FormatUseProcReturnObject( variable, VarName, array, RefType, member ) ){ 375 // 戻り値オブジェクトのメンバを直接参照しているとき 376 //例: func().member 377 378 void *pInfo; 379 int idProc=GetProc(VarName,&pInfo); 380 381 if(idProc){ 382 pRelativeVar->dwKind=VAR_DIRECTMEM; 383 384 385 //////////////// 386 // 呼び出し 387 //////////////// 388 389 *pType=CallProc(idProc,pInfo,VarName,array,&lpIndex); 390 391 //戻り値をecxにコピー 392 op_mov_RR( REG_ECX, REG_EAX ); 393 394 395 LONG_PTR lp2; 396 if(!GetMemberOffset( 397 isErrorEnabled, 398 isWriteAccess, 399 (CClass *)lpIndex, 400 member,pType,pRelativeVar,&lp2,0)) return 0; 401 if(plpIndex) *plpIndex=lp2; 402 403 return 1; 404 } 405 } 406 407 372 408 lstrcpy(VarName,variable); 373 409 GetVarFormatString(VarName,array,lpPtrOffset,member,&RefType); 374 410 375 LONG_PTR lpIndex;376 411 int *pSubScripts; 377 412 bool bConst;
Note:
See TracChangeset
for help on using the changeset viewer.