Index: src/compiler/ast-graph-builder.cc |
diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc |
index 3251b943a5ab64a7afc872ef033c9218ac940db5..9bee998048798d414cdc69ea9013d940bfd3e10a 100644 |
--- a/src/compiler/ast-graph-builder.cc |
+++ b/src/compiler/ast-graph-builder.cc |
@@ -1635,6 +1635,20 @@ |
void AstGraphBuilder::VisitClassLiteral(ClassLiteral* expr) { |
+ // Visit declarations and class literal in a block scope. |
+ if (expr->scope()->ContextLocalCount() > 0) { |
+ Node* context = BuildLocalBlockContext(expr->scope()); |
+ ContextScope scope(this, expr->scope(), context); |
+ VisitDeclarations(expr->scope()->declarations()); |
+ VisitClassLiteralContents(expr); |
+ } else { |
+ VisitDeclarations(expr->scope()->declarations()); |
+ VisitClassLiteralContents(expr); |
+ } |
+} |
+ |
+ |
+void AstGraphBuilder::VisitClassLiteralContents(ClassLiteral* expr) { |
VisitForValueOrTheHole(expr->extends()); |
VisitForValue(expr->constructor()); |