(ObjExpr objx, GeneratorAdapter gen, Type exprType, Expr test, Expr then, Label defaultLabel, boolean emitUnboxed)
| 9527 | } |
| 9528 | |
| 9529 | private void emitThenForInts(ObjExpr objx, GeneratorAdapter gen, Type exprType, Expr test, Expr then, Label defaultLabel, boolean emitUnboxed){ |
| 9530 | if (exprType == null) |
| 9531 | { |
| 9532 | expr.emit(C.EXPRESSION, objx, gen); |
| 9533 | test.emit(C.EXPRESSION, objx, gen); |
| 9534 | gen.invokeStatic(UTIL_TYPE, equivMethod); |
| 9535 | gen.ifZCmp(GeneratorAdapter.EQ, defaultLabel); |
| 9536 | emitExpr(objx, gen, then, emitUnboxed); |
| 9537 | } |
| 9538 | else if (exprType == Type.LONG_TYPE) |
| 9539 | { |
| 9540 | ((NumberExpr)test).emitUnboxed(C.EXPRESSION, objx, gen); |
| 9541 | expr.emitUnboxed(C.EXPRESSION, objx, gen); |
| 9542 | gen.ifCmp(Type.LONG_TYPE, GeneratorAdapter.NE, defaultLabel); |
| 9543 | emitExpr(objx, gen, then, emitUnboxed); |
| 9544 | } |
| 9545 | else if (exprType == Type.INT_TYPE |
| 9546 | || exprType == Type.SHORT_TYPE |
| 9547 | || exprType == Type.BYTE_TYPE) |
| 9548 | { |
| 9549 | if (isShiftMasked()) |
| 9550 | { |
| 9551 | ((NumberExpr)test).emitUnboxed(C.EXPRESSION, objx, gen); |
| 9552 | expr.emitUnboxed(C.EXPRESSION, objx, gen); |
| 9553 | gen.cast(exprType, Type.LONG_TYPE); |
| 9554 | gen.ifCmp(Type.LONG_TYPE, GeneratorAdapter.NE, defaultLabel); |
| 9555 | } |
| 9556 | // else direct match |
| 9557 | emitExpr(objx, gen, then, emitUnboxed); |
| 9558 | } |
| 9559 | else |
| 9560 | { |
| 9561 | gen.goTo(defaultLabel); |
| 9562 | } |
| 9563 | } |
| 9564 | |
| 9565 | private void emitExprForHashes(ObjExpr objx, GeneratorAdapter gen){ |
| 9566 | expr.emit(C.EXPRESSION, objx, gen); |
no test coverage detected