Index: src/ast.h |
diff --git a/src/ast.h b/src/ast.h |
index 9b90d816d93ab3a54c9c571f81c70d1722621ee6..34fadab62d8ec52949ab352a97051ad7ad6ae4f1 100644 |
--- a/src/ast.h |
+++ b/src/ast.h |
@@ -1,4 +1,4 @@ |
-// Copyright 2011 the V8 project authors. All rights reserved. |
+// Copyright 2012 the V8 project authors. All rights reserved. |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
// met: |
@@ -28,14 +28,19 @@ |
#ifndef V8_AST_H_ |
#define V8_AST_H_ |
-#include "allocation.h" |
-#include "execution.h" |
+#include "v8.h" |
+ |
+#include "assembler.h" |
#include "factory.h" |
+#include "isolate.h" |
#include "jsregexp.h" |
+#include "list-inl.h" |
#include "runtime.h" |
#include "small-pointer-list.h" |
+#include "smart-array-pointer.h" |
#include "token.h" |
#include "variables.h" |
+#include "zone-inl.h" |
namespace v8 { |
namespace internal { |
@@ -98,12 +103,28 @@ namespace internal { |
EXPRESSION_NODE_LIST(V) |
// Forward declarations |
-class BitVector; |
-class DefinitionInfo; |
+class AstVisitor; |
+class BreakableStatement; |
+class Expression; |
+class IterationStatement; |
class MaterializedLiteral; |
+class Statement; |
class TargetCollector; |
class TypeFeedbackOracle; |
+class RegExpAlternative; |
+class RegExpAssertion; |
+class RegExpAtom; |
+class RegExpBackReference; |
+class RegExpCapture; |
+class RegExpCharacterClass; |
+class RegExpCompiler; |
+class RegExpDisjunction; |
+class RegExpEmpty; |
+class RegExpLookahead; |
+class RegExpQuantifier; |
+class RegExpText; |
+ |
#define DEF_FORWARD_DECLARATION(type) class type; |
AST_NODE_LIST(DEF_FORWARD_DECLARATION) |
#undef DEF_FORWARD_DECLARATION |
@@ -115,11 +136,6 @@ typedef ZoneList<Handle<String> > ZoneStringList; |
typedef ZoneList<Handle<Object> > ZoneObjectList; |
-#define DECLARE_NODE_TYPE(type) \ |
- virtual void Accept(AstVisitor* v); \ |
- virtual AstNode::Type node_type() const { return AstNode::k##type; } \ |
- |
- |
class AstNode: public ZoneObject { |
public: |
#define DECLARE_TYPE_ENUM(type) k##type, |
@@ -190,6 +206,11 @@ class AstNode: public ZoneObject { |
}; |
+#define DECLARE_NODE_TYPE(type) \ |
+ virtual void Accept(AstVisitor* v); \ |
+ virtual AstNode::Type node_type() const { return AstNode::k##type; } \ |
+ |
+ |
class Statement: public AstNode { |
public: |
Statement() : statement_pos_(RelocInfo::kNoPosition) {} |