Changeset 59 in dev
- Timestamp:
- Feb 21, 2007, 1:50:32 AM (18 years ago)
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler32/CParameter.cpp
r55 r59 369 369 if(DummyTypeInfo.type==VarType){ 370 370 if(DummyTypeInfo.type==DEF_OBJECT){ 371 if( DummyTypeInfo.u.lpIndex!=lpVarIndex){371 if( !DummyTypeInfo.u.pobj_Class->IsEqualsOrSubClass( (CClass *)lpVarIndex ) ){ 372 372 SetError(11,Parms[i2],cp); 373 373 } -
BasicCompiler64/CParameter.cpp
r51 r59 416 416 if(DummyTypeInfo.type==VarType){ 417 417 if(DummyTypeInfo.type==DEF_OBJECT){ 418 if( DummyTypeInfo.u.lpIndex!=lpVarIndex){418 if( !DummyTypeInfo.u.pobj_Class->IsEqualsOrSubClass( (CClass *)lpVarIndex ) ){ 419 419 SetError(11,Parms[i2],cp); 420 420 } -
BasicCompiler_Common/Class.cpp
r57 r59 540 540 } 541 541 return false; 542 } 543 544 //自身と等しいまたは派生クラスかどうかを確認 545 bool CClass::IsEqualsOrSubClass( CClass *pClass ){ 546 if( IsEquals( pClass ) ) return true; 547 return IsSubClass( pClass ); 542 548 } 543 549 -
BasicCompiler_Common/Class.h
r56 r59 170 170 bool IsSubClass( CClass *pClass ); 171 171 172 //自身と等しいまたは派生クラスかどうかを確認 173 bool IsEqualsOrSubClass( CClass *pClass ); 174 172 175 173 176 //線形リスト用 -
BasicCompiler_Common/error.cpp
r46 r59 399 399 400 400 if(VarType==DEF_OBJECT||CalcType==DEF_OBJECT){ 401 //オブジェクトインスタンスの場合 402 if(!(VarType==CalcType&&lpVarIndex==lpCalcIndex)){ 401 //いずれかがオブジェクトインスタンスの場合 402 if( VarType != CalcType ){ 403 DifferentTypeError(VarType,lpVarIndex,CalcType,lpCalcIndex,3,pszFuncName,ParmNum); 404 return false; 405 } 406 407 CClass *pClass = (CClass *)lpVarIndex; 408 if( !pClass->IsEqualsOrSubClass( (CClass *)lpCalcIndex ) ){ 409 //等しくなく、派生クラスでもないとき 403 410 DifferentTypeError(VarType,lpVarIndex,CalcType,lpCalcIndex,3,pszFuncName,ParmNum); 404 411 return false;
Note:
See TracChangeset
for help on using the changeset viewer.