.toSource(); } else if (value instanceof Byte) { return JIntLiteral.get(((Byte) value).byteValue()).toSource(); } else if (value instanceof Character) { return JCharLiteral.get(((Character) value).charValue()) return JFloatLiteral.get(((Float) value).floatValue()).toSource(); } else if (value instanceof Integer) { return JIntLiteral.get(((Integer) value).intValue()).toSource(); } else if (value instanceof Long) { return JLongLiteral.get(((Long) value).intValue()).toSource();
@Override public void endVisit(IntLiteral x, BlockScope scope) { try { push(JIntLiteral.get(x.constant.intValue())); } catch (Throwable e) { throw translateException(x, e); } }
List<JExpression> dims = Lists.create(size.makeStatement().getExpr()); while (cur instanceof JArrayType) { dims = Lists.add(dims, JAbsentArrayDimension.INSTANCE);
JIntLiteral size = ReflectionUtilAst.extractImmutableNode(logger, JIntLiteral.class, newArray.dims.get(0), ast, true); if (size.getValue() != 0) { logger.log(Type.ERROR, "Cannot provide empty arrays to method injectors" + " unless they are of size [0].");
private JExpression getConstant(SourceInfo info, Constant constant) { switch (constant.typeID()) { case TypeIds.T_int: return JIntLiteral.get(constant.intValue()); case TypeIds.T_byte: return JIntLiteral.get(constant.byteValue()); case TypeIds.T_short: return JIntLiteral.get(constant.shortValue()); case TypeIds.T_char: return JCharLiteral.get(constant.charValue()); case TypeIds.T_float: return JFloatLiteral.get(constant.floatValue()); case TypeIds.T_double: return JDoubleLiteral.get(constant.doubleValue()); case Constant.T_boolean: return JBooleanLiteral.get(constant.booleanValue()); case Constant.T_long: return JLongLiteral.get(constant.longValue()); case Constant.T_JavaLangString: return getStringLiteral(info, constant.stringValue()); case Constant.T_null: return JNullLiteral.INSTANCE; default: throw new InternalCompilerException("Unknown Constant type: " + constant.typeID()); } }
List<JExpression> dims = Lists.create(size.makeStatement().getExpr()); while (cur instanceof JArrayType) { dims = Lists.add(dims, JAbsentArrayDimension.INSTANCE);
final JIntLiteral size = ReflectionUtilAst.extractImmutableNode(logger, JIntLiteral.class, newArray.dims.get(0), ast, true); if (size.getValue() != 0) { logger.log(Type.ERROR, "Cannot provide empty arrays to method injectors" + " unless they are of size [0].");
.toSource(); } else if (value instanceof Byte) { return JIntLiteral.get(((Byte) value).byteValue()).toSource(); } else if (value instanceof Character) { return JCharLiteral.get(((Character) value).charValue()) return JFloatLiteral.get(((Float) value).floatValue()).toSource(); } else if (value instanceof Integer) { return JIntLiteral.get(((Integer) value).intValue()).toSource(); } else if (value instanceof Long) { return JLongLiteral.get(((Long) value).intValue()).toSource();
@Override public void endVisit(CaseStatement x, BlockScope scope) { try { SourceInfo info = makeSourceInfo(x); JExpression constantExpression = pop(x.constantExpression); JLiteral caseLiteral; if (constantExpression == null) { caseLiteral = null; } else if (constantExpression instanceof JLiteral) { caseLiteral = (JLiteral) constantExpression; } else { // Adapted from CaseStatement.resolveCase(). assert x.constantExpression.resolvedType.isEnum(); NameReference reference = (NameReference) x.constantExpression; FieldBinding field = reference.fieldBinding(); caseLiteral = JIntLiteral.get(field.original().id); } push(new JCaseStatement(info, caseLiteral)); } catch (Throwable e) { throw translateException(x, e); } }
return JBooleanLiteral.get(((Boolean) value).booleanValue()).toSource(); } else if (value instanceof Byte) { return JIntLiteral.get(((Byte) value).byteValue()).toSource(); } else if (value instanceof Character) { return JCharLiteral.get(((Character) value).charValue()).toSource(); return JFloatLiteral.get(((Float) value).floatValue()).toSource(); } else if (value instanceof Integer) { return JIntLiteral.get(((Integer) value).intValue()).toSource(); } else if (value instanceof Long) { return JLongLiteral.get(((Long) value).longValue()).toSource();
initializers.add(makeDeclaration(info, indexVar, JIntLiteral.get(0)));
.get(x.enumConstant.binding.original().id));