Index: src/interpreter/bytecode-generator.cc |
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
index 5fb120def80393b05a29466908ad279c33e77b1f..b1187a2789cf25ba683ed5505e7a61e202b5d0a7 100644 |
--- a/src/interpreter/bytecode-generator.cc |
+++ b/src/interpreter/bytecode-generator.cc |
@@ -1361,6 +1361,18 @@ |
} |
void BytecodeGenerator::VisitClassLiteral(ClassLiteral* expr) { |
+ if (expr->scope()->ContextLocalCount() > 0) { |
+ VisitNewLocalBlockContext(expr->scope()); |
+ ContextScope scope(this, expr->scope()); |
+ VisitDeclarations(expr->scope()->declarations()); |
+ VisitClassLiteralContents(expr); |
+ } else { |
+ VisitDeclarations(expr->scope()->declarations()); |
+ VisitClassLiteralContents(expr); |
+ } |
+} |
+ |
+void BytecodeGenerator::VisitClassLiteralContents(ClassLiteral* expr) { |
VisitClassLiteralForRuntimeDefinition(expr); |
// Load the "prototype" from the constructor. |