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

changeset 1063
64b9b7ae3366
parent 901
02b699d97a55
child 1086
f595d8bc0599
equal deleted inserted replaced
1062:0d6d41563040 1063:64b9b7ae3366
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()));

mercurial