protected void visitAndAutoboxBoolean(Expression expression) { expression.visit(this); if (isComparisonExpression(expression)) { helper.boxBoolean(); // convert boolean to Boolean } }
protected void visitAndAutoboxBoolean(Expression expression) { expression.visit(this); if (isComparisonExpression(expression)) { helper.boxBoolean(); // convert boolean to Boolean } }
protected void visitAndAutoboxBoolean(Expression expression) { expression.visit(this); if (isComparisonExpression(expression)) { helper.boxBoolean(); // convert boolean to Boolean } }
/** * box the primitive value on the stack * * @param type */ public void quickBoxIfNecessary(ClassNode type) { String descr = getTypeDescription(type); if (type == ClassHelper.boolean_TYPE) { boxBoolean(); } else if (ClassHelper.isPrimitiveType(type) && type != ClassHelper.VOID_TYPE) { ClassNode wrapper = ClassHelper.getWrapper(type); String internName = getClassInternalName(wrapper); mv.visitTypeInsn(NEW, internName); mv.visitInsn(DUP); if (type == ClassHelper.double_TYPE || type == ClassHelper.long_TYPE) { mv.visitInsn(DUP2_X2); mv.visitInsn(POP2); } else { mv.visitInsn(DUP2_X1); mv.visitInsn(POP2); } mv.visitMethodInsn(INVOKESPECIAL, internName, "<init>", "(" + descr + ")V"); } }
/** * box the primitive value on the stack * * @param type */ public void quickBoxIfNecessary(ClassNode type) { String descr = getTypeDescription(type); if (type == ClassHelper.boolean_TYPE) { boxBoolean(); } else if (ClassHelper.isPrimitiveType(type) && type != ClassHelper.VOID_TYPE) { ClassNode wrapper = ClassHelper.getWrapper(type); String internName = getClassInternalName(wrapper); mv.visitTypeInsn(NEW, internName); mv.visitInsn(DUP); if (type == ClassHelper.double_TYPE || type == ClassHelper.long_TYPE) { mv.visitInsn(DUP2_X2); mv.visitInsn(POP2); } else { mv.visitInsn(DUP2_X1); mv.visitInsn(POP2); } mv.visitMethodInsn(INVOKESPECIAL, internName, "<init>", "(" + descr + ")V"); } }
protected void evaluateCompareTo(BinaryExpression expression) { Expression leftExpression = expression.getLeftExpression(); leftExpression.visit(this); if (isComparisonExpression(leftExpression)) { helper.boxBoolean(); } // if the right hand side is a boolean expression, we need to autobox Expression rightExpression = expression.getRightExpression(); rightExpression.visit(this); if (isComparisonExpression(rightExpression)) { helper.boxBoolean(); } compareToMethod.call(mv); }
protected void evaluateCompareTo(BinaryExpression expression) { Expression leftExpression = expression.getLeftExpression(); leftExpression.visit(this); if (isComparisonExpression(leftExpression)) { helper.boxBoolean(); } // if the right hand side is a boolean expression, we need to autobox Expression rightExpression = expression.getRightExpression(); rightExpression.visit(this); if (isComparisonExpression(rightExpression)) { helper.boxBoolean(); } compareToMethod.call(mv); }
protected void evaluateCompareTo(BinaryExpression expression) { Expression leftExpression = expression.getLeftExpression(); leftExpression.visit(this); if (isComparisonExpression(leftExpression)) { helper.boxBoolean(); } // if the right hand side is a boolean expression, we need to autobox Expression rightExpression = expression.getRightExpression(); rightExpression.visit(this); if (isComparisonExpression(rightExpression)) { helper.boxBoolean(); } compareToMethod.call(mv); }
/** * box the primitive value on the stack * * @param type */ public void quickBoxIfNecessary(ClassNode type) { String descr = getTypeDescription(type); if (type == ClassHelper.boolean_TYPE) { boxBoolean(); } else if (ClassHelper.isPrimitiveType(type) && type != ClassHelper.VOID_TYPE) { ClassNode wrapper = ClassHelper.getWrapper(type); String internName = getClassInternalName(wrapper); mv.visitTypeInsn(NEW, internName); mv.visitInsn(DUP); if (type == ClassHelper.double_TYPE || type == ClassHelper.long_TYPE) { mv.visitInsn(DUP2_X2); mv.visitInsn(POP2); } else { mv.visitInsn(DUP2_X1); mv.visitInsn(POP2); } mv.visitMethodInsn(INVOKESPECIAL, internName, "<init>", "(" + descr + ")V"); } }