@Beta
protected class TypeConformanceComputer.CommonSuperTypeFinder
extends java.lang.Object
| Modifier | Constructor and Description |
|---|---|
protected |
CommonSuperTypeFinder(ITypeReferenceOwner owner) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addIdentifier(LightweightTypeReference type,
java.util.Set<java.lang.String> allNames,
java.util.Set<java.lang.String> allBoundNames) |
protected boolean |
allPrimitiveVoid(java.util.List<LightweightTypeReference> types) |
protected LightweightTypeReference |
doGetCommonSuperType(java.util.List<LightweightTypeReference> types) |
protected LightweightTypeReference |
doGetTypeParametersForSuperType(com.google.common.collect.Multimap<org.eclipse.xtext.common.types.JvmType,LightweightTypeReference> all,
org.eclipse.xtext.common.types.JvmArrayType rawType,
ITypeReferenceOwner owner,
java.util.List<LightweightTypeReference> types) |
protected LightweightTypeReference |
doGetTypeParametersForSuperType(com.google.common.collect.Multimap<org.eclipse.xtext.common.types.JvmType,LightweightTypeReference> all,
org.eclipse.xtext.common.types.JvmGenericType rawType,
ITypeReferenceOwner owner,
java.util.List<LightweightTypeReference> types) |
protected boolean |
doIsRecursiveRequest(java.util.List<LightweightTypeReference> types,
java.util.Set<java.lang.String> allNames,
java.util.List<LightweightTypeReference> initiallyRequested) |
protected boolean |
enhanceSuperType(java.util.List<LightweightTypeReference> superTypes,
ParameterizedTypeReference result) |
protected LightweightTypeReference |
findConformsToAllOrVoid(java.util.List<LightweightTypeReference> types) |
protected LightweightTypeReference |
getCommonParameterSuperType(java.util.List<LightweightTypeReference> types) |
protected LightweightTypeReference |
getCommonSuperType(java.util.List<LightweightTypeReference> types) |
protected java.lang.String |
getIdentifier(LightweightTypeReference type) |
protected java.util.List<LightweightTypeReference> |
getMostSpecialCandidates(java.util.List<LightweightTypeReference> types,
com.google.common.collect.Multimap<org.eclipse.xtext.common.types.JvmType,LightweightTypeReference> all,
java.util.List<com.google.common.collect.Multiset.Entry<org.eclipse.xtext.common.types.JvmType>> candidates) |
protected LightweightTypeReference |
getMostSpecialTypeIfAllWildcards(java.util.List<LightweightTypeReference> types) |
protected LightweightTypeReference |
getTypeParametersForSuperType(com.google.common.collect.Multimap<org.eclipse.xtext.common.types.JvmType,LightweightTypeReference> all,
org.eclipse.xtext.common.types.JvmType rawType,
ITypeReferenceOwner owner,
java.util.List<LightweightTypeReference> types) |
protected boolean |
hasTypeParameters(org.eclipse.xtext.common.types.JvmGenericType type) |
protected boolean |
isRecursiveRequest(java.util.List<LightweightTypeReference> types,
java.util.Set<java.lang.String> allNames) |
protected void |
pushRequestedTypes(java.util.List<LightweightTypeReference> types) |
protected LightweightTypeReference |
wrapInCompoundTypeIfNecessary(java.util.List<LightweightTypeReference> referencesWithSameDistance) |
protected CommonSuperTypeFinder(ITypeReferenceOwner owner)
protected LightweightTypeReference getCommonSuperType(java.util.List<LightweightTypeReference> types)
protected LightweightTypeReference doGetCommonSuperType(java.util.List<LightweightTypeReference> types)
protected LightweightTypeReference wrapInCompoundTypeIfNecessary(java.util.List<LightweightTypeReference> referencesWithSameDistance)
protected java.util.List<LightweightTypeReference> getMostSpecialCandidates(java.util.List<LightweightTypeReference> types, com.google.common.collect.Multimap<org.eclipse.xtext.common.types.JvmType,LightweightTypeReference> all, java.util.List<com.google.common.collect.Multiset.Entry<org.eclipse.xtext.common.types.JvmType>> candidates)
protected LightweightTypeReference findConformsToAllOrVoid(java.util.List<LightweightTypeReference> types)
protected boolean allPrimitiveVoid(java.util.List<LightweightTypeReference> types)
protected LightweightTypeReference getTypeParametersForSuperType(com.google.common.collect.Multimap<org.eclipse.xtext.common.types.JvmType,LightweightTypeReference> all, org.eclipse.xtext.common.types.JvmType rawType, ITypeReferenceOwner owner, java.util.List<LightweightTypeReference> types)
protected LightweightTypeReference doGetTypeParametersForSuperType(com.google.common.collect.Multimap<org.eclipse.xtext.common.types.JvmType,LightweightTypeReference> all, org.eclipse.xtext.common.types.JvmArrayType rawType, ITypeReferenceOwner owner, java.util.List<LightweightTypeReference> types)
protected LightweightTypeReference doGetTypeParametersForSuperType(com.google.common.collect.Multimap<org.eclipse.xtext.common.types.JvmType,LightweightTypeReference> all, org.eclipse.xtext.common.types.JvmGenericType rawType, ITypeReferenceOwner owner, java.util.List<LightweightTypeReference> types)
protected void pushRequestedTypes(java.util.List<LightweightTypeReference> types)
protected boolean enhanceSuperType(java.util.List<LightweightTypeReference> superTypes, ParameterizedTypeReference result)
protected boolean hasTypeParameters(org.eclipse.xtext.common.types.JvmGenericType type)
protected LightweightTypeReference getCommonParameterSuperType(java.util.List<LightweightTypeReference> types)
protected boolean isRecursiveRequest(java.util.List<LightweightTypeReference> types, java.util.Set<java.lang.String> allNames)
protected boolean doIsRecursiveRequest(java.util.List<LightweightTypeReference> types, java.util.Set<java.lang.String> allNames, java.util.List<LightweightTypeReference> initiallyRequested)
protected void addIdentifier(LightweightTypeReference type, java.util.Set<java.lang.String> allNames, java.util.Set<java.lang.String> allBoundNames)
protected java.lang.String getIdentifier(LightweightTypeReference type)
protected LightweightTypeReference getMostSpecialTypeIfAllWildcards(java.util.List<LightweightTypeReference> types)