diff options
Diffstat (limited to 'deps/v8/src/ast.h')
-rw-r--r-- | deps/v8/src/ast.h | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/deps/v8/src/ast.h b/deps/v8/src/ast.h index 9b90d816d93..34fadab62d8 100644 --- a/deps/v8/src/ast.h +++ b/deps/v8/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) {} |