| Index: src/full-codegen/full-codegen.h
|
| diff --git a/src/full-codegen/full-codegen.h b/src/full-codegen/full-codegen.h
|
| index cb2edaf157ea4d08de1d6a510522ea4bc57431e8..876ce6c0b977bc74e60aa79ea7533d6a2d781919 100644
|
| --- a/src/full-codegen/full-codegen.h
|
| +++ b/src/full-codegen/full-codegen.h
|
| @@ -199,6 +199,23 @@
|
| }
|
| return previous_;
|
| }
|
| + };
|
| +
|
| + // A class literal expression
|
| + class NestedClassLiteral : public NestedStatement {
|
| + public:
|
| + NestedClassLiteral(FullCodeGenerator* codegen, ClassLiteral* lit)
|
| + : NestedStatement(codegen),
|
| + needs_context_(lit->scope() != nullptr &&
|
| + lit->scope()->NeedsContext()) {}
|
| +
|
| + NestedStatement* Exit(int* context_length) override {
|
| + if (needs_context_) ++(*context_length);
|
| + return previous_;
|
| + }
|
| +
|
| + private:
|
| + const bool needs_context_;
|
| };
|
|
|
| class DeferredCommands {
|
|
|