Changeset 127654 in webkit for trunk/Source/JavaScriptCore/parser/Nodes.h
- Timestamp:
- Sep 5, 2012, 4:00:29 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/Nodes.h
r127202 r127654 595 595 }; 596 596 597 class PrePostResolveNode : public ExpressionNode, public ThrowableExpressionData { 598 public: 599 PrePostResolveNode(const JSTokenLocation&, const Identifier&, unsigned divot, unsigned startOffset, unsigned endOffset); 600 601 protected: 597 class PostfixNode : public ExpressionNode, public ThrowableExpressionData { 598 public: 599 PostfixNode(const JSTokenLocation&, ExpressionNode*, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 600 601 private: 602 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 603 virtual RegisterID* emitResolve(BytecodeGenerator&, RegisterID* = 0); 604 virtual RegisterID* emitBracket(BytecodeGenerator&, RegisterID* = 0); 605 virtual RegisterID* emitDot(BytecodeGenerator&, RegisterID* = 0); 606 607 ExpressionNode* m_expr; 608 Operator m_operator; 609 }; 610 611 class DeleteResolveNode : public ExpressionNode, public ThrowableExpressionData { 612 public: 613 DeleteResolveNode(const JSTokenLocation&, const Identifier&, unsigned divot, unsigned startOffset, unsigned endOffset); 614 615 private: 616 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 617 602 618 const Identifier& m_ident; 603 619 }; 604 620 605 class PostfixResolveNode : public PrePostResolveNode { 606 public: 607 PostfixResolveNode(const JSTokenLocation&, const Identifier&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 608 609 private: 610 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 611 612 Operator m_operator; 613 }; 614 615 class PostfixBracketNode : public ExpressionNode, public ThrowableSubExpressionData { 616 public: 617 PostfixBracketNode(const JSTokenLocation&, ExpressionNode* base, ExpressionNode* subscript, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 621 class DeleteBracketNode : public ExpressionNode, public ThrowableExpressionData { 622 public: 623 DeleteBracketNode(const JSTokenLocation&, ExpressionNode* base, ExpressionNode* subscript, unsigned divot, unsigned startOffset, unsigned endOffset); 618 624 619 625 private: … … 622 628 ExpressionNode* m_base; 623 629 ExpressionNode* m_subscript; 624 Operator m_operator; 625 }; 626 627 class PostfixDotNode : public ExpressionNode, public ThrowableSubExpressionData { 628 public: 629 PostfixDotNode(const JSTokenLocation&, ExpressionNode* base, const Identifier&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 630 }; 631 632 class DeleteDotNode : public ExpressionNode, public ThrowableExpressionData { 633 public: 634 DeleteDotNode(const JSTokenLocation&, ExpressionNode* base, const Identifier&, unsigned divot, unsigned startOffset, unsigned endOffset); 630 635 631 636 private: … … 634 639 ExpressionNode* m_base; 635 640 const Identifier& m_ident; 636 Operator m_operator; 637 }; 638 639 class PostfixErrorNode : public ExpressionNode, public ThrowableSubExpressionData { 640 public: 641 PostfixErrorNode(const JSTokenLocation&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 642 643 private: 644 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 645 646 Operator m_operator; 647 }; 648 649 class DeleteResolveNode : public ExpressionNode, public ThrowableExpressionData { 650 public: 651 DeleteResolveNode(const JSTokenLocation&, const Identifier&, unsigned divot, unsigned startOffset, unsigned endOffset); 641 }; 642 643 class DeleteValueNode : public ExpressionNode { 644 public: 645 DeleteValueNode(const JSTokenLocation&, ExpressionNode*); 646 647 private: 648 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 649 650 ExpressionNode* m_expr; 651 }; 652 653 class VoidNode : public ExpressionNode { 654 public: 655 VoidNode(const JSTokenLocation&, ExpressionNode*); 656 657 private: 658 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 659 660 ExpressionNode* m_expr; 661 }; 662 663 class TypeOfResolveNode : public ExpressionNode { 664 public: 665 TypeOfResolveNode(const JSTokenLocation&, const Identifier&); 666 667 const Identifier& identifier() const { return m_ident; } 652 668 653 669 private: … … 657 673 }; 658 674 659 class DeleteBracketNode : public ExpressionNode, public ThrowableExpressionData {660 public:661 DeleteBracketNode(const JSTokenLocation&, ExpressionNode* base, ExpressionNode* subscript, unsigned divot, unsigned startOffset, unsigned endOffset);662 663 private:664 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);665 666 ExpressionNode* m_base;667 ExpressionNode* m_subscript;668 };669 670 class DeleteDotNode : public ExpressionNode, public ThrowableExpressionData {671 public:672 DeleteDotNode(const JSTokenLocation&, ExpressionNode* base, const Identifier&, unsigned divot, unsigned startOffset, unsigned endOffset);673 674 private:675 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);676 677 ExpressionNode* m_base;678 const Identifier& m_ident;679 };680 681 class DeleteValueNode : public ExpressionNode {682 public:683 DeleteValueNode(const JSTokenLocation&, ExpressionNode*);684 685 private:686 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);687 688 ExpressionNode* m_expr;689 };690 691 class VoidNode : public ExpressionNode {692 public:693 VoidNode(const JSTokenLocation&, ExpressionNode*);694 695 private:696 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);697 698 ExpressionNode* m_expr;699 };700 701 class TypeOfResolveNode : public ExpressionNode {702 public:703 TypeOfResolveNode(const JSTokenLocation&, const Identifier&);704 705 const Identifier& identifier() const { return m_ident; }706 707 private:708 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);709 710 const Identifier& m_ident;711 };712 713 675 class TypeOfValueNode : public ExpressionNode { 714 676 public: … … 721 683 }; 722 684 723 class PrefixResolveNode : public PrePostResolveNode { 724 public: 725 PrefixResolveNode(const JSTokenLocation&, const Identifier&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 726 727 private: 728 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 729 730 Operator m_operator; 731 }; 732 733 class PrefixBracketNode : public ExpressionNode, public ThrowablePrefixedSubExpressionData { 734 public: 735 PrefixBracketNode(const JSTokenLocation&, ExpressionNode* base, ExpressionNode* subscript, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 736 737 private: 738 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 739 740 ExpressionNode* m_base; 741 ExpressionNode* m_subscript; 742 Operator m_operator; 743 }; 744 745 class PrefixDotNode : public ExpressionNode, public ThrowablePrefixedSubExpressionData { 746 public: 747 PrefixDotNode(const JSTokenLocation&, ExpressionNode* base, const Identifier&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 748 749 private: 750 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 751 752 ExpressionNode* m_base; 753 const Identifier& m_ident; 754 Operator m_operator; 755 }; 756 757 class PrefixErrorNode : public ExpressionNode, public ThrowableExpressionData { 758 public: 759 PrefixErrorNode(const JSTokenLocation&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 760 761 private: 762 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 763 685 class PrefixNode : public ExpressionNode, public ThrowablePrefixedSubExpressionData { 686 public: 687 PrefixNode(const JSTokenLocation&, ExpressionNode*, Operator, unsigned divot, unsigned startOffset, unsigned endOffset); 688 689 private: 690 virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0); 691 virtual RegisterID* emitResolve(BytecodeGenerator&, RegisterID* = 0); 692 virtual RegisterID* emitBracket(BytecodeGenerator&, RegisterID* = 0); 693 virtual RegisterID* emitDot(BytecodeGenerator&, RegisterID* = 0); 694 695 ExpressionNode* m_expr; 764 696 Operator m_operator; 765 697 };
Note:
See TracChangeset
for help on using the changeset viewer.