Changeset 47 in dev for BasicCompiler32/Compile_CallProc.cpp
- Timestamp:
- Feb 10, 2007, 3:12:04 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler32/Compile_CallProc.cpp
r46 r47 243 243 psi->bUse=1; 244 244 245 BOOL bStatic=0;245 bool isStatic = false; 246 246 CClass *pobj_c = NULL; 247 247 CMethod *pMethod = NULL; … … 254 254 } 255 255 else{ 256 pobj_c=pobj_DBClass->check(ObjectName); 257 if(pobj_c){ 258 //静的メンバ 259 bStatic=1; 260 } 261 else{ 262 //"->"によってオブジェクトを指定する通常のメンバ関数呼び出し 263 GetVarType(ObjectName,(LONG_PTR *)&pobj_c,1); 256 //"->"によってオブジェクトを指定する通常のメンバ関数呼び出し 257 int type = GetVarType(ObjectName,(LONG_PTR *)&pobj_c,0); 258 if(!(NATURAL_TYPE(type)==DEF_OBJECT)){ 259 pobj_c=pobj_DBClass->check(ObjectName); 260 if( pobj_c ){ 261 isStatic = true; 262 } 263 else{ 264 SetError(300,NULL,cp); 265 } 264 266 } 265 267 } … … 281 283 ///////////////////////////////// 282 284 pMethod = NULL; 283 if( ! bStatic ) pMethod = pobj_c->GetMethodInfo( psi );285 if( ! isStatic ) pMethod = pobj_c->GetMethodInfo( psi ); 284 286 if( ! pMethod ){ 285 287 //動的メソッドが取得できなかったときは静的メソッドを当たる … … 291 293 292 294 //静的メンバ 293 bStatic=1;295 isStatic = true; 294 296 } 295 297 … … 337 339 338 340 char temporary[VN_SIZE]={0}; 339 if( psi->pobj_ParentClass&&bStatic==0){341 if( psi->pobj_ParentClass && isStatic == false ){ 340 342 //_System_LocalThis(第一パラメータ)のダミーを作成 341 343 lstrcpy(temporary,"0,"); … … 401 403 402 404 403 if( psi->pobj_ParentClass&&bStatic==0){405 if( psi->pobj_ParentClass && isStatic == false ){ 404 406 ////////////////////////////////////////////////////// 405 407 // メンバ関数の場合
Note:
See TracChangeset
for help on using the changeset viewer.