| Index: sdk/lib/_internal/compiler/implementation/elements/elements.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/elements/elements.dart (revision 15009)
|
| +++ sdk/lib/_internal/compiler/implementation/elements/elements.dart (working copy)
|
| @@ -1933,10 +1933,17 @@
|
| final TargetElement target;
|
| bool isBreakTarget = false;
|
| bool isContinueTarget = false;
|
| - LabelElement(Label label, this.labelName, this.target,
|
| + LabelElement(Label label, String labelName, this.target,
|
| Element enclosingElement)
|
| : this.label = label,
|
| - super(label.identifier.source, ElementKind.LABEL, enclosingElement);
|
| + this.labelName = labelName,
|
| + // In case of a synthetic label, just use [labelName] for
|
| + // identifying the element.
|
| + super(label == null
|
| + ? new SourceString(labelName)
|
| + : label.identifier.source,
|
| + ElementKind.LABEL,
|
| + enclosingElement);
|
|
|
| void setBreakTarget() {
|
| isBreakTarget = true;
|
|
|