protected Primitive primitiveKind(JvmPrimitiveType primitiveType) { return conformanceComputer.getPrimitives().primitiveKind(primitiveType); }
String getDefaultValue(LightweightTypeReference type) { if (type != null && type.isPrimitive()) { Primitive primitiveKind = primitives.primitiveKind((JvmPrimitiveType) type.getType()); if (primitiveKind == Primitive.Boolean) return "false"; else return "0"; } return "null"; }
protected Object getDefaultObjectValue(LightweightTypeReference type) { if(!type.isPrimitive()) return null; else { JvmPrimitiveType primitive = (JvmPrimitiveType) type.getType(); switch (services.getPrimitives().primitiveKind(primitive)) { case Byte : return Byte.valueOf((byte)0); case Short : return Short.valueOf((short)0); case Char : return Character.valueOf((char)0); case Int : return Integer.valueOf(0); case Long : return Long.valueOf(0l); case Float : return Float.valueOf(0f); case Double : return Double.valueOf("0."); case Boolean : return Boolean.FALSE; case Void : return null; default : throw new IllegalArgumentException("Not a primitive : "+primitive); } } }
} else { if (services.getPrimitives().isPrimitive(variableDecl.getType())) { Primitive primitiveKind = services.getPrimitives().primitiveKind((JvmPrimitiveType) variableDecl.getType().getType()); switch(primitiveKind) { case Boolean:
protected Object _doEvaluate(XCastedExpression castedExpression, IEvaluationContext context, CancelIndicator indicator) { Object result = internalEvaluate(castedExpression.getTarget(), context, indicator); StandardTypeReferenceOwner owner = new StandardTypeReferenceOwner(services, castedExpression); LightweightTypeReference targetType = owner.toLightweightTypeReference(castedExpression.getType()); result = wrapOrUnwrapArray(result, targetType); result = coerceArgumentType(result, castedExpression.getType()); JvmType castType = castedExpression.getType().getType(); if (castType instanceof JvmPrimitiveType) { if (result == null) { throwNullPointerException(castedExpression, "Cannot cast null to primitive " + castType.getIdentifier()); } return castToPrimitiveType(result, services.getPrimitives().primitiveKind((JvmPrimitiveType) castType)); } else { String typeName = castType.getQualifiedName(); Class<?> expectedType = null; try { expectedType = getJavaType(castType); } catch (ClassNotFoundException e) { throw new EvaluationException(new NoClassDefFoundError(typeName)); } try { expectedType.cast(result); } catch (ClassCastException e) { throw new EvaluationException(new ClassCastException(typeName)); } return result; } }
public JvmType getWrapperType(JvmPrimitiveType primitive) { switch (primitiveKind(primitive)) { case Byte : return getType(Byte.class, primitive); case Short : return getType(Short.class, primitive); case Char : return getType(Character.class, primitive); case Int : return getType(Integer.class, primitive); case Long : return getType(Long.class, primitive); case Float : return getType(Float.class, primitive); case Double : return getType(Double.class, primitive); case Boolean : return getType(Boolean.class, primitive); case Void : return getType(Void.class, primitive); default : throw new IllegalArgumentException("Not a primitive : "+primitive); } }
public JvmType getWrapperType(JvmPrimitiveType primitive) { switch (primitiveKind(primitive)) { case Byte : return getType(Byte.class, primitive); case Short : return getType(Short.class, primitive); case Char : return getType(Character.class, primitive); case Int : return getType(Integer.class, primitive); case Long : return getType(Long.class, primitive); case Float : return getType(Float.class, primitive); case Double : return getType(Double.class, primitive); case Boolean : return getType(Boolean.class, primitive); case Void : return getType(Void.class, primitive); default : throw new IllegalArgumentException("Not a primitive : "+primitive); } }