private void load(Expression exp) { boolean wasLeft = leftHandExpression; leftHandExpression = false; // if (CREATE_DEBUG_INFO) // helper.mark("-- loading expression: " + exp.getClass().getName() + // " at [" + exp.getLineNumber() + ":" + exp.getColumnNumber() + "]"); //exp.visit(this); visitAndAutoboxBoolean(exp); // if (CREATE_DEBUG_INFO) // helper.mark(" -- end of loading --"); leftHandExpression = wasLeft; }
private void load(Expression exp) { boolean wasLeft = leftHandExpression; leftHandExpression = false; // if (CREATE_DEBUG_INFO) // helper.mark("-- loading expression: " + exp.getClass().getName() + // " at [" + exp.getLineNumber() + ":" + exp.getColumnNumber() + "]"); //exp.visit(this); visitAndAutoboxBoolean(exp); // if (CREATE_DEBUG_INFO) // helper.mark(" -- end of loading --"); leftHandExpression = wasLeft; }
private void load(Expression exp) { boolean wasLeft = leftHandExpression; leftHandExpression = false; // if (CREATE_DEBUG_INFO) // helper.mark("-- loading expression: " + exp.getClass().getName() + // " at [" + exp.getLineNumber() + ":" + exp.getColumnNumber() + "]"); //exp.visit(this); visitAndAutoboxBoolean(exp); // if (CREATE_DEBUG_INFO) // helper.mark(" -- end of loading --"); leftHandExpression = wasLeft; }
public void visit(MethodVisitor mv) { mv.visitInsn(POP); visitAndAutoboxBoolean(oldFalse); } };
public void visit(MethodVisitor mv) { mv.visitInsn(POP); visitAndAutoboxBoolean(oldFalse); } };
public void visit(GroovyCodeVisitor visitor) { mv.visitInsn(POP); visitAndAutoboxBoolean(oldFalse); } };
private void visitExpressionOrStatement(Object o) { if (o == EmptyExpression.INSTANCE) return; if (o instanceof Expression) { Expression expr = (Expression) o; visitAndAutoboxBoolean(expr); if (isPopRequired(expr)) mv.visitInsn(POP); } else { ((Statement) o).visit(this); } }
private void visitExpressionOrStatement(Object o) { if (o == EmptyExpression.INSTANCE) return; if (o instanceof Expression) { Expression expr = (Expression) o; visitAndAutoboxBoolean(expr); if (isPopRequired(expr)) mv.visitInsn(POP); } else { ((Statement) o).visit(this); } }
private void visitTupleExpression(TupleExpression expression, boolean useWrapper) { int size = expression.getExpressions().size(); helper.pushConstant(size); mv.visitTypeInsn(ANEWARRAY, "java/lang/Object"); for (int i = 0; i < size; i++) { mv.visitInsn(DUP); helper.pushConstant(i); Expression argument = expression.getExpression(i); visitAndAutoboxBoolean(argument); if (useWrapper && argument instanceof CastExpression) loadWrapper(argument); mv.visitInsn(AASTORE); } }
private void visitTupleExpression(TupleExpression expression, boolean useWrapper) { int size = expression.getExpressions().size(); helper.pushConstant(size); mv.visitTypeInsn(ANEWARRAY, "java/lang/Object"); for (int i = 0; i < size; i++) { mv.visitInsn(DUP); helper.pushConstant(i); Expression argument = expression.getExpression(i); visitAndAutoboxBoolean(argument); if (useWrapper && argument instanceof CastExpression) loadWrapper(argument); mv.visitInsn(AASTORE); } }
private void assignmentCastAndVisit(ClassNode type, Expression rightExpression) { // let's not cast for primitive types as we handle these in field setting etc if (ClassHelper.isPrimitiveType(type)) { visitAndAutoboxBoolean(rightExpression); } else if (!rightExpression.getType().isDerivedFrom(type)) { visitCastExpression(new CastExpression(type, rightExpression)); } else { visitAndAutoboxBoolean(rightExpression); } }
protected void evaluateInstanceof(BinaryExpression expression) { visitAndAutoboxBoolean(expression.getLeftExpression()); Expression rightExp = expression.getRightExpression(); ClassNode classType = ClassHelper.DYNAMIC_TYPE; if (rightExp instanceof ClassExpression) { ClassExpression classExp = (ClassExpression) rightExp; classType = classExp.getType(); } else { throw new RuntimeException( "Right hand side of the instanceof keyword must be a class name, not: " + rightExp); } String classInternalName = BytecodeHelper.getClassInternalName(classType); mv.visitTypeInsn(INSTANCEOF, classInternalName); }
public void visitExpressionStatement(ExpressionStatement statement) { onLineNumber(statement, "visitExpressionStatement: " + statement.getExpression().getClass().getName()); visitStatement(statement); Expression expression = statement.getExpression(); visitAndAutoboxBoolean(expression); if (isPopRequired(expression)) { mv.visitInsn(POP); } }
public void visitExpressionStatement(ExpressionStatement statement) { onLineNumber(statement, "visitExpressionStatement: " + statement.getExpression().getClass().getName()); visitStatement(statement); Expression expression = statement.getExpression(); visitAndAutoboxBoolean(expression); if (isPopRequired(expression)) { mv.visitInsn(POP); } }
private void assignmentCastAndVisit(ClassNode type, Expression rightExpression) { // let's not cast for primitive types as we handle these in field setting etc if (ClassHelper.isPrimitiveType(type)) { visitAndAutoboxBoolean(rightExpression); } else if (!rightExpression.getType().isDerivedFrom(type)) { visitCastExpression(new CastExpression(type, rightExpression)); } else { visitAndAutoboxBoolean(rightExpression); } }
private void visitExpressionOrStatement(Object o) { if (o == EmptyExpression.INSTANCE) return; if (o instanceof Expression) { Expression expr = (Expression) o; visitAndAutoboxBoolean(expr); if (isPopRequired(expr)) mv.visitInsn(POP); } else { ((Statement) o).visit(this); } }
public void visitExpressionStatement(ExpressionStatement statement) { onLineNumber(statement, "visitExpressionStatement: " + statement.getExpression().getClass().getName()); visitStatement(statement); Expression expression = statement.getExpression(); visitAndAutoboxBoolean(expression); if (isPopRequired(expression)) { mv.visitInsn(POP); } }
public void visitCastExpression(CastExpression expression) { ClassNode type = expression.getType(); visitAndAutoboxBoolean(expression.getExpression()); final ClassNode rht = rightHandType; rightHandType = expression.getExpression().getType(); doConvertAndCast(type, expression.getExpression(), expression.isIgnoringAutoboxing(), false, expression.isCoerce()); rightHandType = rht; }
public void visitCastExpression(CastExpression castExpression) { ClassNode type = castExpression.getType(); visitAndAutoboxBoolean(castExpression.getExpression()); final ClassNode rht = rightHandType; rightHandType = castExpression.getExpression().getType(); doConvertAndCast(type, castExpression.getExpression(), castExpression.isIgnoringAutoboxing(), false, castExpression.isCoerce()); rightHandType = rht; }
public void visitCastExpression(CastExpression castExpression) { ClassNode type = castExpression.getType(); visitAndAutoboxBoolean(castExpression.getExpression()); final ClassNode rht = rightHandType; rightHandType = castExpression.getExpression().getType(); doConvertAndCast(type, castExpression.getExpression(), castExpression.isIgnoringAutoboxing(), false, castExpression.isCoerce()); rightHandType = rht; }