| Index: pkg/analyzer/lib/src/summary/summarize_ast.dart
|
| diff --git a/pkg/analyzer/lib/src/summary/summarize_ast.dart b/pkg/analyzer/lib/src/summary/summarize_ast.dart
|
| index 7973867ffd5db4f37a14b00e8ff6a28f2f038880..5e89c01718f30527fafab0ee74dfa5911630046c 100644
|
| --- a/pkg/analyzer/lib/src/summary/summarize_ast.dart
|
| +++ b/pkg/analyzer/lib/src/summary/summarize_ast.dart
|
| @@ -193,6 +193,12 @@ class _SummarizeAstVisitor extends RecursiveAstVisitor {
|
| <UnlinkedExportNonPublicBuilder>[];
|
|
|
| /**
|
| + * List of objects which should be written to
|
| + * [UnlinkedExecutable.localLabels].
|
| + */
|
| + List<UnlinkedLabelBuilder> labels = <UnlinkedLabelBuilder>[];
|
| +
|
| + /**
|
| * List of objects which should be written to [UnlinkedUnit.parts].
|
| */
|
| final List<UnlinkedPartBuilder> parts = <UnlinkedPartBuilder>[];
|
| @@ -551,13 +557,17 @@ class _SummarizeAstVisitor extends RecursiveAstVisitor {
|
| }
|
| }
|
| List<UnlinkedExecutableBuilder> oldExecutables = executables;
|
| + List<UnlinkedLabelBuilder> oldLabels = labels;
|
| List<UnlinkedVariableBuilder> oldVariables = variables;
|
| executables = <UnlinkedExecutableBuilder>[];
|
| + labels = <UnlinkedLabelBuilder>[];
|
| variables = <UnlinkedVariableBuilder>[];
|
| body.accept(this);
|
| b.localFunctions = executables;
|
| + b.localLabels = labels;
|
| b.localVariables = variables;
|
| executables = oldExecutables;
|
| + labels = oldLabels;
|
| variables = oldVariables;
|
| }
|
|
|
| @@ -1018,6 +1028,17 @@ class _SummarizeAstVisitor extends RecursiveAstVisitor {
|
| }
|
|
|
| @override
|
| + void visitLabel(Label node) {
|
| + AstNode parent = node.parent;
|
| + labels.add(new UnlinkedLabelBuilder(
|
| + name: node.label.name,
|
| + nameOffset: node.offset,
|
| + isOnSwitchMember: parent is SwitchMember,
|
| + isOnSwitchStatement:
|
| + parent is LabeledStatement && parent.statement is SwitchStatement));
|
| + }
|
| +
|
| + @override
|
| void visitLibraryDirective(LibraryDirective node) {
|
| libraryName =
|
| node.name.components.map((SimpleIdentifier id) => id.name).join('.');
|
|
|