org.eclipse.xtext.xbase.typesystem.internal
Class AbstractLinkingCandidateWithTypeParameter<LinkingCandidate extends ILinkingCandidate<LinkingCandidate>>

java.lang.Object
  extended by org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate<LinkingCandidate>
      extended by org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidateWithTypeParameter<LinkingCandidate>
All Implemented Interfaces:
java.lang.Comparable<LinkingCandidate>, ILinkingCandidate<LinkingCandidate>
Direct Known Subclasses:
ConstructorLinkingCandidate, FeatureLinkingCandidate

public abstract class AbstractLinkingCandidateWithTypeParameter<LinkingCandidate extends ILinkingCandidate<LinkingCandidate>>
extends AbstractLinkingCandidate<LinkingCandidate>

Author:
Sebastian Zarnekow - Initial contribution and API TODO Javadoc

Nested Class Summary
protected  class AbstractLinkingCandidateWithTypeParameter.LazyExpectation
           
 
Constructor Summary
protected AbstractLinkingCandidateWithTypeParameter(XExpression expression, IEObjectDescription description, AbstractTypeComputationState state)
           
 
Method Summary
 void accept(ObservableTypeExpectation expectation, JvmTypeReference actual, ConformanceHint conformanceHint)
           
 void apply()
           
protected  void computeArgumentTypes(JvmIdentifiableElement feature, JvmTypeReference featureType)
           
 java.util.List<JvmTypeParameter> getDeclaredTypeParameters()
           
protected  java.util.Map<JvmTypeParameter,JvmTypeReference> getFeatureTypeParameterMapping()
           
protected  void resolveAgainstActualType(JvmTypeReference declaredType, JvmTypeReference actualType)
           
 
Methods inherited from class org.eclipse.xtext.xbase.typesystem.internal.AbstractLinkingCandidate
acceptActualType, asWrapperType, compareByArity, compareByArityWith, compareTo, deferredBindTypeArguments, getArguments, getArityMismatch, getArityMismatch, getDeclaratorParameterMapping, getDeclaredParameters, getDeclaredType, getDescription, getExpression, getFeature, getReceiver, getState, getSyntacticArguments, getTypeArguments, getTypeArityMismatch, getTypeParameter, resolveArgumentType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractLinkingCandidateWithTypeParameter

protected AbstractLinkingCandidateWithTypeParameter(XExpression expression,
                                                    IEObjectDescription description,
                                                    AbstractTypeComputationState state)
Method Detail

accept

public void accept(ObservableTypeExpectation expectation,
                   JvmTypeReference actual,
                   ConformanceHint conformanceHint)

getDeclaredTypeParameters

public java.util.List<JvmTypeParameter> getDeclaredTypeParameters()
Specified by:
getDeclaredTypeParameters in interface ILinkingCandidate<LinkingCandidate extends ILinkingCandidate<LinkingCandidate>>
Overrides:
getDeclaredTypeParameters in class AbstractLinkingCandidate<LinkingCandidate extends ILinkingCandidate<LinkingCandidate>>

apply

public void apply()
Specified by:
apply in interface ILinkingCandidate<LinkingCandidate extends ILinkingCandidate<LinkingCandidate>>
Overrides:
apply in class AbstractLinkingCandidate<LinkingCandidate extends ILinkingCandidate<LinkingCandidate>>

computeArgumentTypes

protected void computeArgumentTypes(JvmIdentifiableElement feature,
                                    JvmTypeReference featureType)
Overrides:
computeArgumentTypes in class AbstractLinkingCandidate<LinkingCandidate extends ILinkingCandidate<LinkingCandidate>>

resolveAgainstActualType

protected void resolveAgainstActualType(JvmTypeReference declaredType,
                                        JvmTypeReference actualType)

getFeatureTypeParameterMapping

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