| Index: compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| diff --git a/compiler/java/com/google/dart/compiler/resolver/Resolver.java b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| index 767202d929d236d3b2b85d7d60a8c037d2f3f9bf..8627595d56ea43740d3b50237991495fdeee020e 100644
|
| --- a/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| +++ b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| @@ -783,11 +783,12 @@ public class Resolver {
|
| @Override
|
| public Element visitLabel(DartLabel x) {
|
| DartNode parent = x.getParent();
|
| - if (!(parent instanceof DartSwitchMember)) {
|
| + if (!(parent instanceof DartSwitchMember && ((DartSwitchMember) parent).getLabels().contains(
|
| + x))) {
|
| LabelElement labelElement;
|
| DartStatement childStatement = x.getStatement();
|
| while (childStatement instanceof DartLabel) {
|
| - childStatement = ((DartLabel)childStatement).getStatement();
|
| + childStatement = ((DartLabel) childStatement).getStatement();
|
| }
|
| if (childStatement instanceof DartSwitchStatement) {
|
| labelElement = Elements.switchLabelElement(x, x.getName(), innermostFunction);
|
|
|