| Index: src/ast.h
|
| diff --git a/src/ast.h b/src/ast.h
|
| index 2ebf7f94fd0c20c89355577e22ab1135ea02b7f6..5c5bccbc837397d81ab6cfb4dfb186d94565e3a6 100644
|
| --- a/src/ast.h
|
| +++ b/src/ast.h
|
| @@ -165,7 +165,8 @@ enum AstPropertiesFlag {
|
| kDontInline,
|
| kDontOptimize,
|
| kDontSelfOptimize,
|
| - kDontSoftInline
|
| + kDontSoftInline,
|
| + kDontCache
|
| };
|
|
|
|
|
| @@ -586,23 +587,27 @@ class ExportDeclaration: public Declaration {
|
| protected:
|
| template<class> friend class AstNodeFactory;
|
|
|
| - ExportDeclaration(VariableProxy* proxy,
|
| - Scope* scope)
|
| - : Declaration(proxy, LET, scope) {
|
| - }
|
| + ExportDeclaration(VariableProxy* proxy, Scope* scope)
|
| + : Declaration(proxy, LET, scope) {}
|
| };
|
|
|
|
|
| class Module: public AstNode {
|
| public:
|
| Interface* interface() const { return interface_; }
|
| + Block* body() const { return body_; }
|
|
|
| protected:
|
| - explicit Module(Zone* zone) : interface_(Interface::NewModule(zone)) {}
|
| - explicit Module(Interface* interface) : interface_(interface) {}
|
| + explicit Module(Zone* zone)
|
| + : interface_(Interface::NewModule(zone)),
|
| + body_(NULL) {}
|
| + explicit Module(Interface* interface, Block* body = NULL)
|
| + : interface_(interface),
|
| + body_(body) {}
|
|
|
| private:
|
| Interface* interface_;
|
| + Block* body_;
|
| };
|
|
|
|
|
| @@ -610,20 +615,10 @@ class ModuleLiteral: public Module {
|
| public:
|
| DECLARE_NODE_TYPE(ModuleLiteral)
|
|
|
| - Block* body() const { return body_; }
|
| - Handle<Context> context() const { return context_; }
|
| -
|
| protected:
|
| template<class> friend class AstNodeFactory;
|
|
|
| - ModuleLiteral(Block* body, Interface* interface)
|
| - : Module(interface),
|
| - body_(body) {
|
| - }
|
| -
|
| - private:
|
| - Block* body_;
|
| - Handle<Context> context_;
|
| + ModuleLiteral(Block* body, Interface* interface) : Module(interface, body) {}
|
| };
|
|
|
|
|
|
|