diff --git a/pkg/analyzer/test/generated/parser_fasta_test.dart b/pkg/analyzer/test/generated/parser_fasta_test.dart index 65f3d5a83ab..dab073055c2 100644 --- a/pkg/analyzer/test/generated/parser_fasta_test.dart +++ b/pkg/analyzer/test/generated/parser_fasta_test.dart @@ -1240,13 +1240,6 @@ class TopLevelParserTest_Fasta extends FastaParserTestCase super.test_parseCompilationUnit_builtIn_asFunctionName(); } - @override - @failingTest - void test_parseCompilationUnit_empty() { - // TODO(paulberry): No objects placed on stack - super.test_parseCompilationUnit_empty(); - } - @override @failingTest void test_parseCompilationUnit_exportAsPrefix() { @@ -1297,13 +1290,6 @@ class TopLevelParserTest_Fasta extends FastaParserTestCase super.test_parseDirectives_complete(); } - @override - @failingTest - void test_parseDirectives_empty() { - // TODO(paulberry): No objects placed on stack - super.test_parseDirectives_empty(); - } - @override @failingTest void test_parseDirectives_mixed() { diff --git a/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart b/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart index 4b56ebc125f..175ce815a37 100644 --- a/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart +++ b/pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart @@ -852,14 +852,17 @@ class AstBuilder extends ScopeListener { var directives = []; var declarations = []; analyzer.Token endToken = null; // TODO(paulberry) - for (AstNode node in popList(count)) { - if (node is Directive) { - directives.add(node); - } else if (node is CompilationUnitMember) { - declarations.add(node); - } else { - internalError( - 'Unrecognized compilation unit member: ${node.runtimeType}'); + List elements = popList(count); + if (elements != null) { + for (AstNode node in elements) { + if (node is Directive) { + directives.add(node); + } else if (node is CompilationUnitMember) { + declarations.add(node); + } else { + internalError( + 'Unrecognized compilation unit member: ${node.runtimeType}'); + } } } push(ast.compilationUnit(