/** * 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) { Object value = expression.getValue(); helper.loadConstant(value); }
private void loadDynamicName(Expression name) { if (name instanceof ConstantExpression) { ConstantExpression ce = (ConstantExpression) name; Object value = ce.getValue(); if (value instanceof String) { helper.loadConstant(value); return; } } new CastExpression(ClassHelper.STRING_TYPE, name).visit(this); }
private void loadDynamicName(Expression name) { if (name instanceof ConstantExpression) { ConstantExpression ce = (ConstantExpression) name; Object value = ce.getValue(); if (value instanceof String) { helper.loadConstant(value); return; } } new CastExpression(ClassHelper.STRING_TYPE, name).visit(this); }
private void loadDynamicName(Expression name) { if (name instanceof ConstantExpression) { ConstantExpression ce = (ConstantExpression) name; Object value = ce.getValue(); if (value instanceof String) { helper.loadConstant(value); return; } } new CastExpression(ClassHelper.STRING_TYPE, name).visit(this); }
/** * 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())); } }