protected boolean isOverridden(JvmOperation operation, Collection<AbstractResolvedOperation> processedOperations) { for(AbstractResolvedOperation processed: processedOperations) { if (overrideTester.isSubsignature(processed, operation, false).isOverridingOrImplementing()) { return true; } } return false; }
@Override public List<IResolvedOperation> getOverriddenAndImplementedMethods() { if (validOverrides != null) return validOverrides; List<JvmOperation> candidates = getOverriddenAndImplementedMethodCandidates(); if (candidates.isEmpty()) return Collections.emptyList(); List<IResolvedOperation> result = Lists.newArrayListWithCapacity(candidates.size()); for(JvmOperation candidate: candidates) { // we know that our candidates are computed from the hierarchy // thus there is no need to check the declarator for inheritance IOverrideCheckResult checkResult = getOverrideTester().isSubsignature(this, candidate, false); if (checkResult.isOverridingOrImplementing()) { result.add(createResolvedOperationInHierarchy(candidate, checkResult)); } } return validOverrides = Collections.unmodifiableList(result); }
conflictingOperations.add(candidate); } else if (checkResult.isOverridingOrImplementing()) { return false;
conflictingOperations = Lists.newLinkedList(); conflictingOperations.add(candidate); } else if (checkResult.isOverridingOrImplementing()) { return false;
resolvedFeatures.getDeclaredOperations(erasureSignature); for (IResolvedOperation localOperation: declaredOperationsWithSameErasure) { if (!localOperation.isOverridingOrImplementing(operation.getDeclaration()).isOverridingOrImplementing()) { EObject source = findPrimarySourceElement(localOperation); if (flaggedOperations.add(source)) {