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; }
List<IResolvedOperation> exceptionMismatch = null; for (final IResolvedOperation inherited: allInherited) { 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()), final JvmTypeReference inheritedReturnType = inherited.getOverrideCheckResult().getGivenOperation().getReturnType(); final LightweightTypeReference resolvedReturnType = inherited.getOverrideCheckResult().getThisOperation().getResolvedReturnType(); final String signature = inherited.getSimpleSignature(); final EStructuralFeature sourceReturnTypeFeature = returnTypeFeature(sourceElement);
List<IResolvedOperation> exceptionMismatch = null; for(IResolvedOperation inherited: allInherited) { 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,