| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_AST_H_ | 5 #ifndef V8_AST_H_ |
| 6 #define V8_AST_H_ | 6 #define V8_AST_H_ |
| 7 | 7 |
| 8 #include "src/v8.h" | 8 #include "src/v8.h" |
| 9 | 9 |
| 10 #include "src/assembler.h" | 10 #include "src/assembler.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 // Forward declarations | 108 // Forward declarations |
| 109 class AstConstructionVisitor; | 109 class AstConstructionVisitor; |
| 110 template<class> class AstNodeFactory; | 110 template<class> class AstNodeFactory; |
| 111 class AstVisitor; | 111 class AstVisitor; |
| 112 class Declaration; | 112 class Declaration; |
| 113 class Module; | 113 class Module; |
| 114 class BreakableStatement; | 114 class BreakableStatement; |
| 115 class Expression; | 115 class Expression; |
| 116 class IterationStatement; | 116 class IterationStatement; |
| 117 class MaterializedLiteral; | 117 class MaterializedLiteral; |
| 118 class OStream; | |
| 119 class Statement; | 118 class Statement; |
| 120 class TargetCollector; | 119 class TargetCollector; |
| 121 class TypeFeedbackOracle; | 120 class TypeFeedbackOracle; |
| 122 | 121 |
| 123 class RegExpAlternative; | 122 class RegExpAlternative; |
| 124 class RegExpAssertion; | 123 class RegExpAssertion; |
| 125 class RegExpAtom; | 124 class RegExpAtom; |
| 126 class RegExpBackReference; | 125 class RegExpBackReference; |
| 127 class RegExpCapture; | 126 class RegExpCapture; |
| 128 class RegExpCharacterClass; | 127 class RegExpCharacterClass; |
| (...skipping 2477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2606 RegExpNode* on_success) = 0; | 2605 RegExpNode* on_success) = 0; |
| 2607 virtual bool IsTextElement() { return false; } | 2606 virtual bool IsTextElement() { return false; } |
| 2608 virtual bool IsAnchoredAtStart() { return false; } | 2607 virtual bool IsAnchoredAtStart() { return false; } |
| 2609 virtual bool IsAnchoredAtEnd() { return false; } | 2608 virtual bool IsAnchoredAtEnd() { return false; } |
| 2610 virtual int min_match() = 0; | 2609 virtual int min_match() = 0; |
| 2611 virtual int max_match() = 0; | 2610 virtual int max_match() = 0; |
| 2612 // Returns the interval of registers used for captures within this | 2611 // Returns the interval of registers used for captures within this |
| 2613 // expression. | 2612 // expression. |
| 2614 virtual Interval CaptureRegisters() { return Interval::Empty(); } | 2613 virtual Interval CaptureRegisters() { return Interval::Empty(); } |
| 2615 virtual void AppendToText(RegExpText* text, Zone* zone); | 2614 virtual void AppendToText(RegExpText* text, Zone* zone); |
| 2616 OStream& Print(OStream& os, Zone* zone); // NOLINT | 2615 std::ostream& Print(std::ostream& os, Zone* zone); // NOLINT |
| 2617 #define MAKE_ASTYPE(Name) \ | 2616 #define MAKE_ASTYPE(Name) \ |
| 2618 virtual RegExp##Name* As##Name(); \ | 2617 virtual RegExp##Name* As##Name(); \ |
| 2619 virtual bool Is##Name(); | 2618 virtual bool Is##Name(); |
| 2620 FOR_EACH_REG_EXP_TREE_TYPE(MAKE_ASTYPE) | 2619 FOR_EACH_REG_EXP_TREE_TYPE(MAKE_ASTYPE) |
| 2621 #undef MAKE_ASTYPE | 2620 #undef MAKE_ASTYPE |
| 2622 }; | 2621 }; |
| 2623 | 2622 |
| 2624 | 2623 |
| 2625 class RegExpDisjunction FINAL : public RegExpTree { | 2624 class RegExpDisjunction FINAL : public RegExpTree { |
| 2626 public: | 2625 public: |
| (...skipping 909 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3536 Zone* zone_; | 3535 Zone* zone_; |
| 3537 Visitor visitor_; | 3536 Visitor visitor_; |
| 3538 AstValueFactory* ast_value_factory_; | 3537 AstValueFactory* ast_value_factory_; |
| 3539 AstNode::IdGen* id_gen_; | 3538 AstNode::IdGen* id_gen_; |
| 3540 }; | 3539 }; |
| 3541 | 3540 |
| 3542 | 3541 |
| 3543 } } // namespace v8::internal | 3542 } } // namespace v8::internal |
| 3544 | 3543 |
| 3545 #endif // V8_AST_H_ | 3544 #endif // V8_AST_H_ |
| OLD | NEW |