@Override protected List<AbstractTypeExpectation> getExpectations(AbstractTypeComputationState actualState, boolean returnType) { LightweightTypeReference type = getExpectedType(); AbstractTypeExpectation result = returnType ? new TypeExpectation(type, actualState, returnType) : new RootTypeExpectation(type, actualState); return Collections.singletonList(result); }
@Override protected List<AbstractTypeExpectation> getExpectations(AbstractTypeComputationState actualState, boolean returnType) { LightweightTypeReference type = getExpectedType(); AbstractTypeExpectation result = returnType ? new TypeExpectation(type, actualState, returnType) : new RootTypeExpectation(type, actualState); return Collections.singletonList(result); }
@Override protected List<AbstractTypeExpectation> getExpectations(AbstractTypeComputationState actualState, boolean returnType) { LightweightTypeReference voidType = getExpectedType(); AbstractTypeExpectation result = returnType ? new TypeExpectation(voidType, actualState, returnType) : new RootTypeExpectation(voidType, actualState); return Collections.singletonList(result); }
@Override public ITypeExpectation copyInto(ITypeReferenceOwner referenceOwner) { return new RootTypeExpectation(reference.copyInto(referenceOwner), getState()); } }
@Override protected List<AbstractTypeExpectation> getExpectations(AbstractTypeComputationState actualState, boolean returnType) { AbstractTypeExpectation result = null; if (expectedType != null) { result = returnType ? new TypeExpectation(expectedType, actualState, returnType) : new RootTypeExpectation(expectedType, actualState); } else { result = returnType ? new NoExpectation(actualState, returnType) : new RootNoExpectation(actualState, true); } return Collections.singletonList(result); }
@Override protected List<AbstractTypeExpectation> getExpectations(AbstractTypeComputationState actualState, boolean returnType) { LightweightTypeReference type = getExpectedType(); AbstractTypeExpectation result; if (type != null) { result = returnType ? new TypeExpectation(type, actualState, returnType) : new RootTypeExpectation(type, actualState); } else { result = returnType ? new NoExpectation(actualState, returnType) : new RootNoExpectation(actualState, true); } return Collections.singletonList(result); }
protected AbstractTypeExpectation createTypeExpectation(/* @Nullable */ LightweightTypeReference expectedType, AbstractTypeComputationState actualState, boolean voidAllowed, boolean returnType) { AbstractTypeExpectation result = null; if (expectedType != null) { LightweightTypeReference copied = expectedType.copyInto(actualState.getReferenceOwner()); result = new RootTypeExpectation(copied, actualState); } else if (returnType) { result = new PendingRootExpectation(actualState, this, voidAllowed); } else { result = new RootNoExpectation(actualState, voidAllowed); } return result; }
@Override protected AbstractTypeExpectation createTypeExpectation(/* @Nullable */ LightweightTypeReference expectedType, AbstractTypeComputationState actualState, boolean returnType) { LightweightTypeReference type = expectedType != null ? expectedType.copyInto(actualState.getReferenceOwner()) : null; AbstractTypeExpectation result; if (type != null) { result = returnType ? new TypeExpectation(type, actualState, returnType) : new RootTypeExpectation(type, actualState); } else { result = returnType ? new NoExpectation(actualState, returnType) : new RootNoExpectation(actualState, true); } return result; }