OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1768 RegExpNode* on_success) = 0; | 1768 RegExpNode* on_success) = 0; |
1769 virtual bool IsTextElement() { return false; } | 1769 virtual bool IsTextElement() { return false; } |
1770 virtual bool IsAnchoredAtStart() { return false; } | 1770 virtual bool IsAnchoredAtStart() { return false; } |
1771 virtual bool IsAnchoredAtEnd() { return false; } | 1771 virtual bool IsAnchoredAtEnd() { return false; } |
1772 virtual int min_match() = 0; | 1772 virtual int min_match() = 0; |
1773 virtual int max_match() = 0; | 1773 virtual int max_match() = 0; |
1774 // Returns the interval of registers used for captures within this | 1774 // Returns the interval of registers used for captures within this |
1775 // expression. | 1775 // expression. |
1776 virtual Interval CaptureRegisters() { return Interval::Empty(); } | 1776 virtual Interval CaptureRegisters() { return Interval::Empty(); } |
1777 virtual void AppendToText(RegExpText* text); | 1777 virtual void AppendToText(RegExpText* text); |
1778 SmartPointer<const char> ToString(); | 1778 SmartArrayPointer<const char> ToString(); |
1779 #define MAKE_ASTYPE(Name) \ | 1779 #define MAKE_ASTYPE(Name) \ |
1780 virtual RegExp##Name* As##Name(); \ | 1780 virtual RegExp##Name* As##Name(); \ |
1781 virtual bool Is##Name(); | 1781 virtual bool Is##Name(); |
1782 FOR_EACH_REG_EXP_TREE_TYPE(MAKE_ASTYPE) | 1782 FOR_EACH_REG_EXP_TREE_TYPE(MAKE_ASTYPE) |
1783 #undef MAKE_ASTYPE | 1783 #undef MAKE_ASTYPE |
1784 }; | 1784 }; |
1785 | 1785 |
1786 | 1786 |
1787 class RegExpDisjunction: public RegExpTree { | 1787 class RegExpDisjunction: public RegExpTree { |
1788 public: | 1788 public: |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2140 | 2140 |
2141 private: | 2141 private: |
2142 Isolate* isolate_; | 2142 Isolate* isolate_; |
2143 bool stack_overflow_; | 2143 bool stack_overflow_; |
2144 }; | 2144 }; |
2145 | 2145 |
2146 | 2146 |
2147 } } // namespace v8::internal | 2147 } } // namespace v8::internal |
2148 | 2148 |
2149 #endif // V8_AST_H_ | 2149 #endif // V8_AST_H_ |
OLD | NEW |