protected TypeParameterSubstitutor<?> createSubstitutor(ITypeReferenceOwner owner, LightweightTypeReference declaringType) { Map<JvmTypeParameter, LightweightMergedBoundTypeArgument> parameterMapping = new DeclaratorTypeArgumentCollector().getTypeParameterMapping(declaringType); StandardTypeParameterSubstitutor substitutor = new StandardTypeParameterSubstitutor(parameterMapping, owner); return substitutor; }
protected ConstraintVisitingInfo createVisiting(JvmTypeParameter initialValue) { ConstraintVisitingInfo result = createVisiting(); result.tryVisit(initialValue); return result; } }
@Override protected TypeParameterSubstitutor<?> createTypeParameterSubstitutor( Map<JvmTypeParameter, LightweightMergedBoundTypeArgument> mapping) { return new UnboundTypeParameterPreservingSubstitutor(mapping, getOwner()); }
/** * {@inheritDoc} * * By default, all public features are considered to be accessible. */ @Override public boolean isVisible(JvmMember member) { return visibilityHelper.isVisible(member); }
@Override protected TypeParameterSubstitutor<?> createTypeParameterSubstitutor(Map<JvmTypeParameter, LightweightMergedBoundTypeArgument> mapping) { return new UnboundTypeParameterPreservingSubstitutor(mapping, getOwner()); }
@Override protected void processTypeParameter(JvmTypeParameter typeParameter, LightweightTypeReference reference) { Maps2.putIntoListMap(typeParameter, boundByDefaultSource(reference), typeParameterMapping); }
protected AbstractPendingLinkingCandidate( Expression expression, IIdentifiableElementDescription description, ITypeExpectation expectation, ExpressionTypeComputationState state, PendingLinkingCandidateResolver<Expression> pendingLinkingCandidateResolver) { super(expression, expectation, state); this.description = description; this.pendingLinkingCandidateResolver = pendingLinkingCandidateResolver; }
@Override protected TypeParameterSubstitutor<?> createTypeParameterSubstitutor(Map<JvmTypeParameter, LightweightMergedBoundTypeArgument> mapping) { return new UnboundTypeParameterPreservingSubstitutor(mapping, getOwner()); }
@Override protected void doVisitUnboundTypeReference(UnboundTypeReference reference, CompoundTypeReference declaration) { if (declaration.isSynonym()) { super.doVisitUnboundTypeReference(reference, declaration); } else { addHint(reference, declaration); } } };
@Override protected void doVisitWildcardTypeReference(WildcardTypeReference reference, UnboundTypeReference declaration) { if (shouldProcess(declaration.getTypeParameter())) { declaration.acceptHint(boundByInference(reference)); } else { super.doVisitWildcardTypeReference(reference, declaration); } } };
@Override public void importStaticExtension(JvmDeclaredType type, String memberName, boolean strict) { Maps2.putIntoSetMap(type, memberName, namedStaticExtensionImports); if (!strict) { Maps2.putIntoSetMap(type, memberName, bogusNamedStaticExtensionImports); } }
@Override public void doVisitUnboundTypeReference(UnboundTypeReference reference, ParameterizedTypeReference declaration) { addHint(reference, declaration); }
@Override protected void doVisitCompoundTypeReference(CompoundTypeReference reference, UnboundTypeReference param) { doVisitTypeReference(reference, param); } }
@Override protected CharSequence toString(Object part) { return (part == null) ? nullText : MultimapJoiner.this.toString(part); }
public boolean tryNext(T element) { Item item = head; while (item != null) { if (item.element == element) return false; item = item.next; } Item newHead = new Item(); newHead.element = element; newHead.next = head; head = newHead; return true; }
@Override protected ArrayTypeReferenceTraverser createArrayTypeReferenceTraverser() { return new DeferredArrayTypeReferenceTraverser(); }
@Override protected void unmarkComputing() { super.unmarkComputing(); }
@Override public LightweightTypeReference doVisitUnboundTypeReference(UnboundTypeReference reference, ConstraintVisitingInfo param) { return copy(reference); }
@Override protected JvmTypeParameter findMappedParameter(JvmTypeParameter parameter, Map<JvmTypeParameter, LightweightMergedBoundTypeArgument> mapping, Collection<JvmTypeParameter> visited) { return UnboundTypeReferences.findMappedParameter(parameter, mapping, visited); }
/** * {@inheritDoc} * * By default, all public features are considered to be accessible. */ @Override public boolean isVisible(JvmMember member, /* @Nullable */ LightweightTypeReference receiverType, /* @Nullable */ JvmIdentifiableElement receiverFeature) { return visibilityHelper.isVisible(member); }