Changeset 1043 for trunk/rphp/include/rphp/analysis/pAST.h
- Timestamp:
- 02/15/10 15:17:06 (7 months ago)
- Files:
-
- 1 modified
-
trunk/rphp/include/rphp/analysis/pAST.h (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/rphp/include/rphp/analysis/pAST.h
r1041 r1043 663 663 public: 664 664 665 enum classType { NORMAL, IFACE, FINAL, ABSTRACT }; 665 enum classTypes { NORMAL, 666 IFACE, // "INTERFACE" is keyword? throws error 667 FINAL, 668 ABSTRACT }; 666 669 667 670 private: … … 669 672 idList extends_; 670 673 idList implements_; 671 classType type_;674 classTypes classType_; 672 675 block* members_; 673 676 … … 677 680 classDecl(const classDecl& other, pParseContext& C): decl(other), 678 681 name_(other.name_), extends_(other.extends_), implements_(other.implements_), 679 type_(other.type_), members_(0)682 classType_(other.classType_), members_(0) 680 683 { 681 684 if(other.members_) … … 686 689 classDecl(pParseContext& C, 687 690 const pSourceRange& name, 688 classType type,691 classTypes type, 689 692 const sourceRangeList* extends, // may be null 690 693 const sourceRangeList* implements, // may be null … … 695 698 extends_(), 696 699 implements_(), 697 type_(type),700 classType_(type), 698 701 members_(members) 699 702 { … … 726 729 return *name_; 727 730 } 731 728 732 block* members(void) { return members_; } 733 734 classTypes classType(void) const { return classType_; } 735 736 pUInt implementsCount(void) const { return implements_.size(); } 737 pUInt extendsCount(void) const { return extends_.size(); } 729 738 730 739 stmt::child_iterator child_begin() { return (stmt**)&members_; } 731 740 stmt::child_iterator child_end() { return (stmt**)&members_+1; } 741 742 idList::iterator extends_begin() { return extends_.begin(); } 743 idList::iterator extends_end() { return extends_.end(); } 744 745 idList::iterator implements_begin() { return implements_.begin(); } 746 idList::iterator implements_end() { return implements_.end(); } 732 747 733 748 IMPLEMENT_SUPPORT_MEMBERS(classDecl);
