logger.log(TreeLogger.ERROR, "The define named " + name
+ " does not define a numeric value");
throw new UnableToCompleteException();
}
JPrimitiveType returnType = toImplement.getReturnType().isPrimitive();
assert returnType != null;
sw.print(toImplement.getReadableDeclaration(false, false, false, false,
true));
sw.println(" {");
sw.indent();
if (returnType == JPrimitiveType.INT || returnType == JPrimitiveType.LONG) {
sw.println("return " + Math.round(numberValue.getValue()) + ";");
} else if (returnType == JPrimitiveType.FLOAT) {
sw.println("return " + numberValue.getValue() + "F;");
} else if (returnType == JPrimitiveType.DOUBLE) {
sw.println("return " + numberValue.getValue() + ";");
} else {
logger.log(TreeLogger.ERROR, returnType.getQualifiedSourceName()
+ " is not a valid return type for @def accessors");
throw new UnableToCompleteException();
}
sw.outdent();
sw.println("}");