@Override public void visitConstantExpression(ConstantExpression expr) { result = new ExpressionInfo( TextRegion.of(expr), TextPosition.startOf(expr), expr.getConstantName() ).setRelevant(false); }
/** * Generate byte code for constants * * @see <a href="http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#14152">Class field types</a> */ public void visitConstantExpression(ConstantExpression expression) { final String constantName = expression.getConstantName(); if (controller.isStaticConstructor() || constantName == null) { controller.getOperandStack().pushConstant(expression); } else { controller.getMethodVisitor().visitFieldInsn(GETSTATIC, controller.getInternalClassName(),constantName, BytecodeHelper.getTypeDescription(expression.getType())); controller.getOperandStack().push(expression.getType()); } }
/** * Generate byte code for constants * * @see <a href="http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#14152">Class field types</a> */ public void visitConstantExpression(ConstantExpression expression) { final String constantName = expression.getConstantName(); if ((methodNode != null && methodNode.getName().equals("<clinit>")) || constantName == null) { Object value = expression.getValue(); helper.loadConstant(value); } else { mv.visitFieldInsn(GETSTATIC, internalClassName,constantName, BytecodeHelper.getTypeDescription(expression.getType())); } }
/** * Generate byte code for constants * * @see <a href="http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#14152">Class field types</a> */ public void visitConstantExpression(ConstantExpression expression) { final String constantName = expression.getConstantName(); if ((methodNode != null && methodNode.getName().equals("<clinit>")) || constantName == null) { Object value = expression.getValue(); helper.loadConstant(value); } else { mv.visitFieldInsn(GETSTATIC, internalClassName,constantName, BytecodeHelper.getTypeDescription(expression.getType())); } }
/** * Generate byte code for constants * * @see <a href="http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#14152">Class field types</a> */ public void visitConstantExpression(ConstantExpression expression) { final String constantName = expression.getConstantName(); if (controller.isStaticConstructor() || constantName == null) { controller.getOperandStack().pushConstant(expression); } else { controller.getMethodVisitor().visitFieldInsn(GETSTATIC, controller.getInternalClassName(),constantName, BytecodeHelper.getTypeDescription(expression.getType())); controller.getOperandStack().push(expression.getType()); } }