org.eclipse.xtext.common.types.util
Class ParameterizedTypeConformanceStrategy
java.lang.Object
org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitorWithParameter<Parameter,Result>
org.eclipse.xtext.common.types.util.AbstractTypeReferenceVisitorWithParameter.InheritanceAware<TypeConformanceComputationArgument.Internal<T>,TypeConformanceResult>
org.eclipse.xtext.common.types.util.AbstractConformanceVisitor<T>
org.eclipse.xtext.common.types.util.TypeConformanceStrategy<JvmParameterizedTypeReference>
org.eclipse.xtext.common.types.util.ParameterizedTypeConformanceStrategy
- All Implemented Interfaces:
- ITypeReferenceVisitorWithParameter<TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference>,TypeConformanceResult>
public class ParameterizedTypeConformanceStrategy
- extends TypeConformanceStrategy<JvmParameterizedTypeReference>
- Author:
- Sebastian Zarnekow - Initial contribution and API
Method Summary |
protected TypeConformanceResult |
areArgumentsConformant(JvmParameterizedTypeReference leftReference,
JvmParameterizedTypeReference rightReference)
|
TypeConformanceResult |
doVisitAnyTypeReference(JvmParameterizedTypeReference left,
JvmAnyTypeReference right,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
|
TypeConformanceResult |
doVisitGenericArrayTypeReference(JvmParameterizedTypeReference left,
JvmGenericArrayTypeReference right,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
|
TypeConformanceResult |
doVisitParameterizedTypeReference(JvmParameterizedTypeReference leftReference,
JvmParameterizedTypeReference rightReference,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
|
TypeConformanceResult |
doVisitTypeReference(JvmParameterizedTypeReference left,
JvmTypeReference right,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
|
protected TypeArgumentContext |
getBoundTypeParameters(JvmParameterizedTypeReference reference)
|
protected TypeConformanceResult |
isConformant(JvmType leftType,
JvmType rightType,
JvmParameterizedTypeReference leftReference,
JvmParameterizedTypeReference rightReference,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
|
protected boolean |
isPrimitiveVoid(JvmType type)
|
protected boolean |
isUnresolved(JvmType leftType)
|
protected boolean |
isWideningConversion(JvmPrimitiveType leftType,
JvmPrimitiveType rightType)
See Java Language Specification §{5.1.2} Widening Primitive Conversion |
protected Primitives.Primitive |
primitiveKind(JvmPrimitiveType primitiveType)
|
Methods inherited from class org.eclipse.xtext.common.types.util.TypeConformanceStrategy |
doVisitAnyTypeReference, doVisitCompoundTypeReference, doVisitCompoundTypeReference, doVisitDelegateTypeReference, doVisitDelegateTypeReference, doVisitGenericArrayTypeReference, doVisitMultiTypeReference, doVisitMultiTypeReference, doVisitParameterizedTypeReference, doVisitSpecializedTypeReference, doVisitSpecializedTypeReference, doVisitSynonymTypeReference, doVisitSynonymTypeReference, doVisitTypeReference, doVisitUnknownTypeReference, doVisitUnknownTypeReference, doVisitWildcardTypeReference, doVisitWildcardTypeReference |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ParameterizedTypeConformanceStrategy
public ParameterizedTypeConformanceStrategy(TypeConformanceComputer conformanceComputer)
doVisitGenericArrayTypeReference
public TypeConformanceResult doVisitGenericArrayTypeReference(JvmParameterizedTypeReference left,
JvmGenericArrayTypeReference right,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
- Overrides:
doVisitGenericArrayTypeReference
in class TypeConformanceStrategy<JvmParameterizedTypeReference>
doVisitParameterizedTypeReference
public TypeConformanceResult doVisitParameterizedTypeReference(JvmParameterizedTypeReference leftReference,
JvmParameterizedTypeReference rightReference,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
- Overrides:
doVisitParameterizedTypeReference
in class TypeConformanceStrategy<JvmParameterizedTypeReference>
isPrimitiveVoid
protected boolean isPrimitiveVoid(JvmType type)
isConformant
protected TypeConformanceResult isConformant(JvmType leftType,
JvmType rightType,
JvmParameterizedTypeReference leftReference,
JvmParameterizedTypeReference rightReference,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
isWideningConversion
protected boolean isWideningConversion(JvmPrimitiveType leftType,
JvmPrimitiveType rightType)
- See Java Language Specification §{5.1.2} Widening Primitive Conversion
primitiveKind
protected Primitives.Primitive primitiveKind(JvmPrimitiveType primitiveType)
areArgumentsConformant
protected TypeConformanceResult areArgumentsConformant(JvmParameterizedTypeReference leftReference,
JvmParameterizedTypeReference rightReference)
getBoundTypeParameters
protected TypeArgumentContext getBoundTypeParameters(JvmParameterizedTypeReference reference)
isUnresolved
protected boolean isUnresolved(JvmType leftType)
doVisitAnyTypeReference
public TypeConformanceResult doVisitAnyTypeReference(JvmParameterizedTypeReference left,
JvmAnyTypeReference right,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
- Overrides:
doVisitAnyTypeReference
in class TypeConformanceStrategy<JvmParameterizedTypeReference>
doVisitTypeReference
public TypeConformanceResult doVisitTypeReference(JvmParameterizedTypeReference left,
JvmTypeReference right,
TypeConformanceComputationArgument.Internal<JvmParameterizedTypeReference> param)
- Overrides:
doVisitTypeReference
in class TypeConformanceStrategy<JvmParameterizedTypeReference>