Changeset 106 in dev for BasicCompiler64
- Timestamp:
- May 4, 2007, 5:04:50 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler64/Compile_Var.cpp
r103 r106 388 388 else lstrcpy(variable,NameBuffer); 389 389 390 // 名前空間を分離 391 char namespaceStr[VN_SIZE]="", simpleName[VN_SIZE]; 392 Smoothie::Meta::namespaceScopesCollection.SplitNamespace( variable, namespaceStr, simpleName ); 393 394 // 先頭オブジェクトまたはクラス名と入れ子メンバに分割 390 395 CClass::RefType refType; 391 if( FormatUseProcReturnObject( variable, VarName, array, refType, member ) ){ 392 // 戻り値オブジェクトのメンバを直接参照しているとき 393 //例: func().member 394 395 // TODO: 消す 396 SetError(); 397 return false; 398 /* 399 void *pInfo; 400 int idProc=GetProc(VarName,(void **)&pInfo); 401 402 if(idProc){ 403 pRelativeVar->dwKind=VAR_DIRECTMEM; 404 405 Type type; 406 407 ////////////////////////////////////////////////////// 408 ///// レジスタ資源のバックアップ 409 { BACKUP_REGISTER_RESOURCE 410 ////////////////////////////////////////////////////// 411 412 //////////////// 413 // 呼び出し 414 //////////////// 415 416 CallProc(idProc,pInfo,VarName,array,type); 417 418 //戻り値をr11にコピー 419 op_mov_RR( REG_R11, REG_RAX ); 420 421 ///////////////////////////////////////////// 422 ////// レジスタ資源を復元 423 RESTORE_REGISTER_RESOURCE 424 }//////////////////////////////////////////// 425 426 if(!_member_offset( 427 isErrorEnabled, 428 isWriteAccess, 429 type.GetClass(), 430 member,pRelativeVar,resultType,0)) return false; 431 432 return true; 433 }*/ 434 } 435 436 437 438 lstrcpy(VarName,variable); 439 GetVarFormatString(VarName,array,lpPtrOffset,member,refType); 396 char member[VN_SIZE],array[VN_SIZE],lpPtrOffset[VN_SIZE]; 397 GetVarFormatString(simpleName,array,lpPtrOffset,member,refType); 398 399 // 名前空間を分離していた場合は結合 400 char VarName[VN_SIZE]; 401 if( namespaceStr[0] ){ 402 sprintf( VarName, "%s.%s", namespaceStr, simpleName ); 403 } 404 else{ 405 lstrcpy( VarName, simpleName ); 406 } 440 407 441 408 const int *pSubScripts;
Note:
See TracChangeset
for help on using the changeset viewer.