@Override protected LightweightTypeReference doVisitUnboundTypeReference(UnboundTypeReference reference, Set<JvmTypeParameter> visiting) { return reference.copyInto(getOwner()); }
protected LightweightTypeReference copy(UnboundTypeReference reference) { return reference.copyInto(getOwner()); }
@Override protected UnboundTypeReference getUnboundTypeReference(Object handle) { UnboundTypeReference result = basicGetTypeParameters().get(handle); if (result == null) { result = parent.getUnboundTypeReference(handle); if (result.internalIsResolved()) throw new IllegalStateException("Cannot query unbound reference that was already resolved"); return (UnboundTypeReference) result.copyInto(getReferenceOwner()); } return result; }
@Override public LightweightTypeReference doVisitComputedTypeReference(XComputedTypeReference reference) { IJvmTypeReferenceProvider typeProvider = reference.getTypeProvider(); if (typeProvider instanceof UnboundTypeReferenceResolver) { UnboundTypeReference typeReference = ((UnboundTypeReferenceResolver) typeProvider).getUnboundTypeReference(); return typeReference.copyInto(owner); } JvmTypeReference equivalent = reference.getEquivalent(); if (equivalent == null) return owner.newUnknownTypeReference(); return super.doVisitComputedTypeReference(reference); }
LightweightTypeReference reference = unbound.copyInto(parent.getReferenceOwner()); if (reference instanceof UnboundTypeReference) { parent.acceptUnboundTypeReference(unbound.getHandle(), (UnboundTypeReference) reference);