@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); }
protected AbstractTypeExpectation createTypeExpectation(/* @Nullable */ LightweightTypeReference expectedType, AbstractTypeComputationState actualState, boolean returnType) { AbstractTypeExpectation result = null; if (expectedType != null) { LightweightTypeReference copied = expectedType.copyInto(actualState.getReferenceOwner()); result = new TypeExpectation(copied, actualState, returnType); } else { result = new NoExpectation(actualState, returnType); } return 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); }
@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; }
protected void applyPackageFragment(XMemberFeatureCall memberFeatureCall, JvmDeclaredType type) { XExpression target = memberFeatureCall.getMemberCallTarget(); state.getResolvedTypes().acceptType( target, new NoExpectation(state, false), state.getReferenceOwner().newParameterizedTypeReference(type), false, ConformanceFlags.CHECKED_SUCCESS); if (target instanceof XMemberFeatureCall) { applyPackageFragment((XMemberFeatureCall) target, type); } }