org.eclipse.xtext.common.types.util
Class TypeArgumentContextProvider

java.lang.Object
  extended by org.eclipse.xtext.common.types.util.TypeArgumentContextProvider
Direct Known Subclasses:
LoggingTypeArgumentDecorator, XbaseTypeArgumentContextProvider

public class TypeArgumentContextProvider
extends java.lang.Object

Author:
Sebastian Zarnekow - Initial contribution and API

Nested Class Summary
static class TypeArgumentContextProvider.AbstractRequest
           
static interface TypeArgumentContextProvider.IInitializableTypeArgumentContext
           
protected  class TypeArgumentContextProvider.PrimitiveAwareMap
           
static class TypeArgumentContextProvider.ReceiverRequest
           
static interface TypeArgumentContextProvider.Request
           
protected static class TypeArgumentContextProvider.ResolveInfo
           
protected static class TypeArgumentContextProvider.ResolveInfoKind
           
 
Constructor Summary
TypeArgumentContextProvider()
           
 
Method Summary
protected  java.util.Map<JvmTypeParameter,JvmTypeReference> createMapWithTweakedToString()
           
protected  java.util.Map<JvmTypeParameter,JvmTypeReference> createTemporaryMap()
           
protected  com.google.common.collect.Multimap<JvmTypeParameter,TypeArgumentContextProvider.ResolveInfo> createTemporaryMultimap()
           
protected  ITypeArgumentContext getDeclaredBoundsContext(JvmExecutable executable)
           
protected  ITypeArgumentContext getExpectedTypeContext(JvmTypeReference declaredType, JvmTypeReference expectedType)
           
protected  ITypeArgumentContext getExplicitArgumentContext(JvmExecutable executable, java.util.List<JvmTypeReference> explicitTypeArguments)
           
protected  ITypeArgumentContext getParameterContext(JvmExecutable executable, java.util.List<JvmTypeReference> argumentTypes)
           
protected  TypeArgumentContext getReceiverContext(JvmTypeReference receiverType)
           
 ITypeArgumentContext getTypeArgumentContext(TypeArgumentContextProvider.Request request)
           
protected  JvmTypeReference getWithObjectUpperBoundIfNecessary(JvmTypeReference reference)
           
protected  boolean isRecursive(JvmTypeParameter param, JvmTypeReference reference)
           
protected  java.util.Map<JvmTypeParameter,JvmTypeReference> normalizedCopy(java.util.Map<JvmTypeParameter,JvmTypeReference> map)
           
protected  java.util.Map<JvmTypeParameter,JvmTypeReference> normalizedCopy(com.google.common.collect.Multimap<JvmTypeParameter,TypeArgumentContextProvider.ResolveInfo> map)
           
protected  void resolveAgainstActualType(JvmTypeReference declaredType, JvmTypeReference actualType, com.google.common.collect.Multimap<JvmTypeParameter,TypeArgumentContextProvider.ResolveInfo> result, boolean allowWildcardResolutions, int hint)
           
protected  JvmTypeReference wildcardAwareGetReference(TypeArgumentContextProvider.ResolveInfo resolveInfo)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypeArgumentContextProvider

public TypeArgumentContextProvider()
Method Detail

getTypeArgumentContext

public ITypeArgumentContext getTypeArgumentContext(TypeArgumentContextProvider.Request request)

getReceiverContext

protected TypeArgumentContext getReceiverContext(JvmTypeReference receiverType)

normalizedCopy

protected java.util.Map<JvmTypeParameter,JvmTypeReference> normalizedCopy(com.google.common.collect.Multimap<JvmTypeParameter,TypeArgumentContextProvider.ResolveInfo> map)

createMapWithTweakedToString

protected java.util.Map<JvmTypeParameter,JvmTypeReference> createMapWithTweakedToString()

wildcardAwareGetReference

protected JvmTypeReference wildcardAwareGetReference(TypeArgumentContextProvider.ResolveInfo resolveInfo)

normalizedCopy

protected java.util.Map<JvmTypeParameter,JvmTypeReference> normalizedCopy(java.util.Map<JvmTypeParameter,JvmTypeReference> map)

getExplicitArgumentContext

protected ITypeArgumentContext getExplicitArgumentContext(JvmExecutable executable,
                                                          java.util.List<JvmTypeReference> explicitTypeArguments)

getExpectedTypeContext

protected ITypeArgumentContext getExpectedTypeContext(JvmTypeReference declaredType,
                                                      JvmTypeReference expectedType)

createTemporaryMultimap

protected com.google.common.collect.Multimap<JvmTypeParameter,TypeArgumentContextProvider.ResolveInfo> createTemporaryMultimap()

isRecursive

protected boolean isRecursive(JvmTypeParameter param,
                              JvmTypeReference reference)

createTemporaryMap

protected java.util.Map<JvmTypeParameter,JvmTypeReference> createTemporaryMap()

getWithObjectUpperBoundIfNecessary

protected JvmTypeReference getWithObjectUpperBoundIfNecessary(JvmTypeReference reference)

getDeclaredBoundsContext

protected ITypeArgumentContext getDeclaredBoundsContext(JvmExecutable executable)

getParameterContext

protected ITypeArgumentContext getParameterContext(JvmExecutable executable,
                                                   java.util.List<JvmTypeReference> argumentTypes)

resolveAgainstActualType

protected void resolveAgainstActualType(JvmTypeReference declaredType,
                                        JvmTypeReference actualType,
                                        com.google.common.collect.Multimap<JvmTypeParameter,TypeArgumentContextProvider.ResolveInfo> result,
                                        boolean allowWildcardResolutions,
                                        int hint)