src/share/classes/com/sun/tools/javac/comp/Lower.java
Print this page
*** 3448,3457 ****
--- 3448,3458 ----
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,3564 ****
boolean isDefault = (oneCase.getExpression() == null);
JCExpression caseExpr;
if (isDefault)
caseExpr = null;
else {
! caseExpr = make.Literal(caseLabelToPosition.get((String)oneCase.
! getExpression().
type.constValue()));
}
lb.append(make.Case(caseExpr,
oneCase.getStatements()));
--- 3554,3565 ----
boolean isDefault = (oneCase.getExpression() == null);
JCExpression caseExpr;
if (isDefault)
caseExpr = null;
else {
! caseExpr = make.Literal(caseLabelToPosition.get((String)TreeInfo.skipParens(oneCase.
! getExpression()).
type.constValue()));
}
lb.append(make.Case(caseExpr,
oneCase.getStatements()));