public abstract class AbstractClosureTypeHelper extends java.lang.Object implements IClosureCandidate
Modifier | Constructor and Description |
---|---|
protected |
AbstractClosureTypeHelper(XClosure closure,
ITypeExpectation expectation,
ITypeComputationState state) |
Modifier and Type | Method and Description |
---|---|
void |
applyToModel(IResolvedTypes resolvedTypes)
Injects the resolved information into the model.
|
protected abstract void |
computeTypes() |
protected void |
deferredBindTypeArgument(LightweightTypeReference declared,
LightweightTypeReference actual,
BoundTypeArgumentSource source) |
protected XClosure |
getClosure() |
protected ITypeExpectation |
getExpectation() |
abstract FunctionTypeReference |
getExpectedClosureType()
This method is only public for testing purpose.
|
abstract JvmOperation |
getOperation()
This method is only public for testing purpose.
|
abstract java.util.List<JvmFormalParameter> |
getParameters()
Returns the effective list of parameters.
|
protected CommonTypeComputationServices |
getServices() |
protected ITypeComputationState |
getState() |
boolean |
validate(IAcceptor<? super AbstractDiagnostic> result)
Produce diagnostics for this condidate.
|
protected AbstractClosureTypeHelper(XClosure closure, ITypeExpectation expectation, ITypeComputationState state)
protected ITypeComputationState getState()
protected ITypeExpectation getExpectation()
protected XClosure getClosure()
protected CommonTypeComputationServices getServices()
protected abstract void computeTypes()
public abstract FunctionTypeReference getExpectedClosureType()
public abstract JvmOperation getOperation()
protected void deferredBindTypeArgument(LightweightTypeReference declared, LightweightTypeReference actual, BoundTypeArgumentSource source)
public void applyToModel(IResolvedTypes resolvedTypes)
IApplicableCandidate
applyToModel
in interface IApplicableCandidate
public boolean validate(IAcceptor<? super AbstractDiagnostic> result)
IApplicableCandidate
validate
in interface IApplicableCandidate
true
if further validation should be performed.public abstract java.util.List<JvmFormalParameter> getParameters()
IClosureCandidate
getParameters
in interface IClosureCandidate