protected boolean isIllegallyDeclaredException(LightweightTypeReference exception, List<IResolvedOperation> overriddenAndImplemented) { for(IResolvedOperation operation: overriddenAndImplemented) { if (operation.getOverrideCheckResult().getDetails().contains(OverrideCheckDetails.EXCEPTION_MISMATCH)) { List<LightweightTypeReference> inheritedExceptions = operation.getResolvedExceptions(); if (inheritedExceptions.isEmpty()) { return true; } boolean isDeclared = false; for(LightweightTypeReference inheritedException: inheritedExceptions) { if (inheritedException.isAssignableFrom(exception)) { isDeclared = true; break; } } if (!isDeclared) { return true; } } } return false; }
OverrideTester overrideTester = _getOverrideTester(candidate); IOverrideCheckResult checkResult = overrideTester.isSubsignature(candidate, operation, false); if (checkResult.getDetails().contains(OverrideCheckDetails.DEFAULT_IMPL_CONFLICT)) { if (!isSuperClassBranch && superClassBranchOperations.containsKey(simpleName)) { iterator.remove();
OverrideTester overrideTester = candidate.getOverrideTester(); IOverrideCheckResult checkResult = overrideTester.isSubsignature(candidate, operation, false); if (checkResult.getDetails().contains(OverrideCheckDetails.DEFAULT_IMPL_CONFLICT)) {
if (inherited.getOverrideCheckResult().hasProblems()) { overrideProblems = true; EnumSet<OverrideCheckDetails> details = inherited.getOverrideCheckResult().getDetails(); if (details.contains(OverrideCheckDetails.IS_FINAL)) { error("Attempt to override final method " + inherited.getSimpleSignature(), sourceElement,
if (inherited.getOverrideCheckResult().hasProblems()) { overrideProblems = true; final EnumSet<OverrideCheckDetails> details = inherited.getOverrideCheckResult().getDetails(); if (details.contains(OverrideCheckDetails.IS_FINAL)) { error(MessageFormat.format(Messages.SARLValidator_43, inherited.getSimpleSignature()),