Bug 494254 - Validation for superBase declarations in aspectBindings

- error message fix
- consider *all* overridden methods
diff --git a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/OTPDEUIMessages.properties b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/OTPDEUIMessages.properties
index 307c28e..323a99a 100644
--- a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/OTPDEUIMessages.properties
+++ b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/ui/OTPDEUIMessages.properties
@@ -15,7 +15,7 @@
 Validation_NotAPackage_error="{0} is an enclosing class, please use ''$'' as the separator for inner class names"
 Validation_MissingPackage_error=Missing package; cannot bind a team class in the default package
 Validation_MissingBindingForBasePackage_error=Team ''{0}'' lacks a binding for base package ''{1}''
-Validation_MissingSuperBasePackageDecl_error=Team ''{0}'' lacks a superBase declaration for base class ''{1}''
+Validation_MissingSuperBasePackageDecl_error=Team ''{0}'' lacks a superBase declaration for a base class in package ''{1}''
 Validation_PackageNotInSuperBase_error=Plug-in ''{0}'' does not provide package ''{1}''
 Validation_UnnecessarySuperBase_warning=Unnecessary superBase declaration ''{0}''
 
diff --git a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/validation/BundleValidation.java b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/validation/BundleValidation.java
index 8ee7fb2..dcbd913 100644
--- a/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/validation/BundleValidation.java
+++ b/plugins/org.eclipse.objectteams.otdt.pde.ui/src/org/eclipse/objectteams/otdt/internal/pde/validation/BundleValidation.java
@@ -342,8 +342,7 @@
 						for (IMethodMappingBinding mappingBinding : ((ITypeBinding) binding).getResolvedMethodMappings()) {
 							for (IMethodBinding basemethod : mappingBinding.getBaseMethods()) {
 								// find overridden
-								IMethodBinding overriddenMethod = Bindings.findOverriddenMethod(basemethod, true);
-								if (overriddenMethod != null) {
+								for (IMethodBinding overriddenMethod : Bindings.findOverriddenMethods(basemethod, true, false)) {									
 									// remember package of declaring class
 									String packageName = overriddenMethod.getDeclaringClass().getPackage().getName();
 									if (perTeamResult == null) {
diff --git a/testplugins/org.eclipse.objectteams.otdt.test.builder/src/org/eclipse/objectteams/otdt/test/builder/OTEquinoxBuilderTests.java b/testplugins/org.eclipse.objectteams.otdt.test.builder/src/org/eclipse/objectteams/otdt/test/builder/OTEquinoxBuilderTests.java
index d554f67..6b4c02e 100644
--- a/testplugins/org.eclipse.objectteams.otdt.test.builder/src/org/eclipse/objectteams/otdt/test/builder/OTEquinoxBuilderTests.java
+++ b/testplugins/org.eclipse.objectteams.otdt.test.builder/src/org/eclipse/objectteams/otdt/test/builder/OTEquinoxBuilderTests.java
@@ -443,7 +443,7 @@
 		expectingNoProblemsFor(basePrj0.getPath());
 		expectingNoProblemsFor(basePrj1.getPath());
 		expectingOnlySpecificProblemsFor(aspPrj.getPath(), new Problem[] {
-			new Problem("", "Team 'bug494254aspect.Team1' lacks a superBase declaration for base class 'p0'",
+			new Problem("", "Team 'bug494254aspect.Team1' lacks a superBase declaration for a base class in package 'p0'",
 					aspPrj.getPath().append(new Path("plugin.xml")),
 						-1, -1, -1, IMarker.SEVERITY_ERROR),
 			new Problem("", "Plug-in 'Bug494254base0' does not provide package 'p1'",