Changeset 94 in dev for BasicCompiler_Common/Class.cpp
- Timestamp:
- Apr 14, 2007, 8:36:04 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler_Common/Class.cpp
r92 r94 742 742 if( IsEquals( pClass ) ) return true; 743 743 return IsSubClass( pClass ); 744 } 745 746 // 自身と等しいまたは派生クラス、基底クラスかどうかを確認 747 bool CClass::IsEqualsOrSubClassOrSuperClass( const CClass &objClass ) const 748 { 749 if( IsEquals( &objClass ) ) return true; 750 if( IsSubClass( &objClass ) ) return true; 751 if( objClass.IsSubClass( this ) ) return true; 752 return false; 744 753 } 745 754 … … 1542 1551 if( !objClass.IsUsing() ){ 1543 1552 // 未使用のクラスは無視する 1553 if( (string)objClass.name == "CTest"){ 1554 int test=0; 1555 } 1544 1556 continue; 1545 1557 } 1546 1558 1559 char referenceOffsetsBuffer[1024] = ""; 1560 int numOfReference = 0; 1561 for( int i=0; i<objClass.iMemberNum; i++ ){ 1562 CMember &member = *objClass.ppobj_Member[i]; 1563 1564 if( member.IsObject() || member.IsPointer() ){ 1565 if( referenceOffsetsBuffer[0] ){ 1566 lstrcat( referenceOffsetsBuffer, "," ); 1567 } 1568 1569 sprintf( referenceOffsetsBuffer + lstrlen( referenceOffsetsBuffer ), 1570 "%d", 1571 objClass.GetMemberOffset( member.name ) ); 1572 1573 numOfReference++; 1574 } 1575 } 1576 1547 1577 sprintf( temporary 1548 , "Add(%c%c_System_TypeForClass(\"%s\",\"%s\" ))"1578 , "Add(%c%c_System_TypeForClass(\"%s\",\"%s\",[%s],%d))" 1549 1579 , 1 1550 1580 , ESC_NEW 1551 , "" // 名前空間 (TODO: 実装) 1552 , objClass.name // クラス名 1581 , "" // 名前空間 (TODO: 実装) 1582 , objClass.name // クラス名 1583 , referenceOffsetsBuffer // 参照メンバオフセット配列 1584 , numOfReference // 参照メンバの個数 1553 1585 ); 1554 1586
Note:
See TracChangeset
for help on using the changeset viewer.