TransformationStatistics.transformedBooleanComparison(); BooleanTestabilityTransformation.logger.info("Changing IFNE"); jumpNode.setOpcode(Opcodes.IFGT); } else { BooleanTestabilityTransformation.logger.info("Not changing IFNE"); mi.desc)) == Type.BOOLEAN_TYPE) { BooleanTestabilityTransformation.logger.info("Changing IFNE"); jumpNode.setOpcode(Opcodes.IFGT); TransformationStatistics.transformedBooleanComparison(); BooleanTestabilityTransformation.logger.info("Changing IFEQ"); jumpNode.setOpcode(Opcodes.IFLE); } else { BooleanTestabilityTransformation.logger.info("Not changing IFEQ"); if (Type.getReturnType(BooleanTestabilityTransformation.getOriginalDesc(mi.owner, mi.name, mi.desc)) == Type.BOOLEAN_TYPE) { BooleanTestabilityTransformation.logger.info("Changing IFEQ"); jumpNode.setOpcode(Opcodes.IFLE); } else { BooleanTestabilityTransformation.logger.info("Return type: "
|| isStringMethod(node.getPrevious())) { logger.info("IFNE -> IFGT"); branch.setOpcode(Opcodes.IFGT); || isStringMethod(node.getPrevious())) { logger.info("IFEQ -> IFLE"); branch.setOpcode(Opcodes.IFLE); || isStringMethod(node.getPrevious().getPrevious())) { if (node.getPrevious().getOpcode() == Opcodes.ICONST_0) { branch.setOpcode(Opcodes.IFLE); mn.instructions.remove(node.getPrevious()); } else if (node.getPrevious().getOpcode() == Opcodes.ICONST_1) { branch.setOpcode(Opcodes.IFGT); mn.instructions.remove(node.getPrevious()); || isStringMethod(node.getPrevious().getPrevious())) { if (node.getPrevious().getOpcode() == Opcodes.ICONST_0) { branch.setOpcode(Opcodes.IFGT); mn.instructions.remove(node.getPrevious()); } else if (node.getPrevious().getOpcode() == Opcodes.ICONST_1) { branch.setOpcode(Opcodes.IFLE); mn.instructions.remove(node.getPrevious());