langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java
changeset 10201 52da97a48f81
parent 8622 4f032629a0fd
child 10627 d8e900b62e02
equal deleted inserted replaced
10200:56cc93e7b6ef 10201:52da97a48f81
  3448             int casePosition = 0;
  3448             int casePosition = 0;
  3449             for(JCCase oneCase : caseList) {
  3449             for(JCCase oneCase : caseList) {
  3450                 JCExpression expression = oneCase.getExpression();
  3450                 JCExpression expression = oneCase.getExpression();
  3451 
  3451 
  3452                 if (expression != null) { // expression for a "default" case is null
  3452                 if (expression != null) { // expression for a "default" case is null
       
  3453                     expression = TreeInfo.skipParens(expression);
  3453                     String labelExpr = (String) expression.type.constValue();
  3454                     String labelExpr = (String) expression.type.constValue();
  3454                     Integer mapping = caseLabelToPosition.put(labelExpr, casePosition);
  3455                     Integer mapping = caseLabelToPosition.put(labelExpr, casePosition);
  3455                     Assert.checkNull(mapping);
  3456                     Assert.checkNull(mapping);
  3456                     int hashCode = labelExpr.hashCode();
  3457                     int hashCode = labelExpr.hashCode();
  3457 
  3458 
  3553                 boolean isDefault = (oneCase.getExpression() == null);
  3554                 boolean isDefault = (oneCase.getExpression() == null);
  3554                 JCExpression caseExpr;
  3555                 JCExpression caseExpr;
  3555                 if (isDefault)
  3556                 if (isDefault)
  3556                     caseExpr = null;
  3557                     caseExpr = null;
  3557                 else {
  3558                 else {
  3558                     caseExpr = make.Literal(caseLabelToPosition.get((String)oneCase.
  3559                     caseExpr = make.Literal(caseLabelToPosition.get((String)TreeInfo.skipParens(oneCase.
  3559                                                                     getExpression().
  3560                                                                                                 getExpression()).
  3560                                                                     type.constValue()));
  3561                                                                     type.constValue()));
  3561                 }
  3562                 }
  3562 
  3563 
  3563                 lb.append(make.Case(caseExpr,
  3564                 lb.append(make.Case(caseExpr,
  3564                                     oneCase.getStatements()));
  3565                                     oneCase.getStatements()));