/** * Creates a references to the given class or returns an {@link UnknownTypeReference} if no * JRE is available. */ @Override public LightweightTypeReference newReferenceTo(Class<?> type) { JvmType rawType = getServices().getTypeReferences().findDeclaredType(type, getContextResourceSet()); if (rawType == null) { return newUnknownTypeReference(type.getName()); } return toPlainTypeReference(rawType); }
/** * Creates a references to the given class or returns an {@link UnknownTypeReference} if no * JRE is available. If the type is available, the given acceptor is used to initialize it further. */ @Override public LightweightTypeReference newReferenceTo(Class<?> type, TypeReferenceInitializer<? super ParameterizedTypeReference> init) { if (init == null) { throw new NullPointerException("initializer"); } JvmType rawType = getServices().getTypeReferences().findDeclaredType(type, getContextResourceSet()); if (rawType == null) { return newUnknownTypeReference(type.getName()); } if (rawType.eClass() == TypesPackage.Literals.JVM_ARRAY_TYPE) { throw new IllegalArgumentException("given type is an array type: " + type); } ParameterizedTypeReference result = newParameterizedTypeReference(rawType); return init.enhance(result); }