src/share/classes/com/sun/tools/javac/comp/Lower.java

Print this page

        

@@ -3448,10 +3448,11 @@
             int casePosition = 0;
             for(JCCase oneCase : caseList) {
                 JCExpression expression = oneCase.getExpression();
 
                 if (expression != null) { // expression for a "default" case is null
+                    expression = TreeInfo.skipParens(expression);
                     String labelExpr = (String) expression.type.constValue();
                     Integer mapping = caseLabelToPosition.put(labelExpr, casePosition);
                     Assert.checkNull(mapping);
                     int hashCode = labelExpr.hashCode();
 

@@ -3553,12 +3554,12 @@
                 boolean isDefault = (oneCase.getExpression() == null);
                 JCExpression caseExpr;
                 if (isDefault)
                     caseExpr = null;
                 else {
-                    caseExpr = make.Literal(caseLabelToPosition.get((String)oneCase.
-                                                                    getExpression().
+                    caseExpr = make.Literal(caseLabelToPosition.get((String)TreeInfo.skipParens(oneCase.
+                                                                                                getExpression()).
                                                                     type.constValue()));
                 }
 
                 lb.append(make.Case(caseExpr,
                                     oneCase.getStatements()));