@Override public JvmTypeReference toTypeReference() { TypesFactory typesFactory = getTypesFactory(); JvmWildcardTypeReference result = typesFactory.createJvmWildcardTypeReference(); if (upperBounds != null && !upperBounds.isEmpty()) { for (LightweightTypeReference typeArgument : upperBounds) { JvmUpperBound constraint = typesFactory.createJvmUpperBound(); constraint.setTypeReference(typeArgument.getWrapperTypeIfPrimitive().toTypeReference()); result.getConstraints().add(constraint); } } if (lowerBound != null) { JvmLowerBound constraint = typesFactory.createJvmLowerBound(); constraint.setTypeReference(lowerBound.getWrapperTypeIfPrimitive().toTypeReference()); result.getConstraints().add(constraint); } return result; }
public LightweightTypeReference convertToList(ArrayTypeReference type) { LightweightTypeReference componentType = type.getComponentType(); LightweightTypeReference wrapper = componentType.getWrapperTypeIfPrimitive(); ITypeReferenceOwner owner = type.getOwner(); JvmType listType = type.getServices() .getTypeReferences() .findDeclaredType(List.class, owner.getContextResourceSet()); if (listType == null) { return owner.newUnknownTypeReference(List.class.getName()); } ParameterizedTypeReference result = owner.newParameterizedTypeReference(listType); result.addTypeArgument(wrapper); return result; }