package com.redhat.ceylon.compiler.java.codegen; import com.sun.tools.javac.tree.JCTree.JCAnnotation; import com.sun.tools.javac.tree.JCTree.JCExpression; public class FloatLiteralAnnotationTerm extends LiteralAnnotationTerm { /** * Sometimes we need an instance just for calling * {@link #makeAtValue(ExpressionTransformer, String, JCExpression)} on. */ public static final LiteralAnnotationTerm FACTORY = new FloatLiteralAnnotationTerm(0.0); final double value; public FloatLiteralAnnotationTerm(double value) { super(); this.value = value; } @Override public com.sun.tools.javac.util.List<JCAnnotation> makeAtValue( ExpressionTransformer exprGen, String name, JCExpression value) { return exprGen.makeAtFloatValue(name, value); } @Override public JCExpression makeLiteral(ExpressionTransformer exprGen) { return exprGen.make().Literal(value); } @Override public com.sun.tools.javac.util.List<JCAnnotation> makeExprs(ExpressionTransformer exprGen, com.sun.tools.javac.util.List<JCAnnotation> value) { return exprGen.makeAtFloatExprs(exprGen.make().NewArray(null, null, (com.sun.tools.javac.util.List)value)); } @Override public String toString() { return Double.toString(value); } }