public class LightweightTypeReferenceFactory extends AbstractXtypeReferenceVisitor<LightweightTypeReference>
StandardTypeReferenceOwner
to
provide instances of LightweightTypeReference
. Clients may use a custom
implementation of this factory and configure it with a StandardTypeReferenceOwner
.AbstractTypeReferenceVisitor.InheritanceAware<Result>
Constructor and Description |
---|
LightweightTypeReferenceFactory(ITypeReferenceOwner owner)
.
|
LightweightTypeReferenceFactory(ITypeReferenceOwner owner,
boolean keepUnboundWildcards) |
doVisitCompoundTypeReference
doVisitDelegateTypeReference, doVisitSpecializedTypeReference, visit
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
doVisitCompoundTypeReference, doVisitDelegateTypeReference, doVisitSpecializedTypeReference, visit
public LightweightTypeReferenceFactory(ITypeReferenceOwner owner)
new OwnedConverter(owner, false)
.public LightweightTypeReferenceFactory(ITypeReferenceOwner owner, boolean keepUnboundWildcards)
keepUnboundWildcards
- true
if unbound wildcards should be converted to ? extends Object
.
Unbound information is required to do proper cast validation. In other cases, the compiler should
add the upper bound object.WildcardType.getUpperBounds()
public ITypeReferenceOwner getOwner()
public LightweightTypeReference toLightweightReference(JvmTypeReference reference)
public LightweightTypeReference toLightweightReference(JvmType type)
public LightweightTypeReference toPlainTypeReference(JvmType type)
public LightweightTypeReference doVisitAnyTypeReference(JvmAnyTypeReference reference)
doVisitAnyTypeReference
in interface ITypeReferenceVisitor<LightweightTypeReference>
doVisitAnyTypeReference
in class AbstractTypeReferenceVisitor.InheritanceAware<LightweightTypeReference>
public LightweightTypeReference doVisitGenericArrayTypeReference(JvmGenericArrayTypeReference reference)
doVisitGenericArrayTypeReference
in interface ITypeReferenceVisitor<LightweightTypeReference>
doVisitGenericArrayTypeReference
in class AbstractTypeReferenceVisitor.InheritanceAware<LightweightTypeReference>
public LightweightTypeReference doVisitMultiTypeReference(JvmMultiTypeReference reference)
doVisitMultiTypeReference
in interface ITypeReferenceVisitor<LightweightTypeReference>
doVisitMultiTypeReference
in class AbstractTypeReferenceVisitor.InheritanceAware<LightweightTypeReference>
protected LightweightTypeReference doVisitCompoundReference(JvmCompoundTypeReference reference, boolean synonym)
public LightweightTypeReference doVisitComputedTypeReference(XComputedTypeReference reference)
doVisitComputedTypeReference
in interface XtypeReferenceVisitor<LightweightTypeReference>
doVisitComputedTypeReference
in class AbstractXtypeReferenceVisitor<LightweightTypeReference>
public LightweightTypeReference doVisitParameterizedTypeReference(JvmParameterizedTypeReference reference)
doVisitParameterizedTypeReference
in interface ITypeReferenceVisitor<LightweightTypeReference>
doVisitParameterizedTypeReference
in class AbstractTypeReferenceVisitor.InheritanceAware<LightweightTypeReference>
protected boolean isInner(JvmType type)
public LightweightTypeReference doVisitInnerTypeReference(JvmInnerTypeReference reference)
doVisitInnerTypeReference
in interface ITypeReferenceVisitor<LightweightTypeReference>
doVisitInnerTypeReference
in class AbstractTypeReferenceVisitor.InheritanceAware<LightweightTypeReference>
protected JvmType getType(JvmTypeReference reference)
public LightweightTypeReference doVisitSynonymTypeReference(JvmSynonymTypeReference reference)
doVisitSynonymTypeReference
in interface ITypeReferenceVisitor<LightweightTypeReference>
doVisitSynonymTypeReference
in class AbstractTypeReferenceVisitor.InheritanceAware<LightweightTypeReference>
public LightweightTypeReference doVisitWildcardTypeReference(JvmWildcardTypeReference reference)
doVisitWildcardTypeReference
in interface ITypeReferenceVisitor<LightweightTypeReference>
doVisitWildcardTypeReference
in class AbstractTypeReferenceVisitor.InheritanceAware<LightweightTypeReference>
public LightweightTypeReference doVisitFunctionTypeReference(XFunctionTypeRef reference)
doVisitFunctionTypeReference
in interface XtypeReferenceVisitor<LightweightTypeReference>
doVisitFunctionTypeReference
in class AbstractXtypeReferenceVisitor<LightweightTypeReference>
public LightweightTypeReference doVisitUnknownTypeReference(JvmUnknownTypeReference reference)
doVisitUnknownTypeReference
in interface ITypeReferenceVisitor<LightweightTypeReference>
doVisitUnknownTypeReference
in class AbstractTypeReferenceVisitor.InheritanceAware<LightweightTypeReference>
protected LightweightTypeReference handleNullReference()
handleNullReference
in class AbstractTypeReferenceVisitor<LightweightTypeReference>
protected LightweightTypeReference getObjectReference()
protected JvmType getObjectType()
public LightweightTypeReference doVisitTypeReference(JvmTypeReference reference)
doVisitTypeReference
in interface ITypeReferenceVisitor<LightweightTypeReference>
doVisitTypeReference
in class AbstractTypeReferenceVisitor.InheritanceAware<LightweightTypeReference>