Fix 433744: default methods/itds
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.java
index 3f5167c..b2522a5 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier.java
@@ -627,14 +627,14 @@
 			nextMethod : for (int m = methods.length; --m >= 0;) { // Interface methods are all abstract public
 				MethodBinding inheritedMethod = methods[m];
 				if (inheritedMethod.isStatic()) continue nextMethod;
-				if (!inheritedMethod.isAbstract()) continue nextMethod; // AspectJ Extension - allow for ITDs on the interface
+				if (!inheritedMethod.isAbstract() && !inheritedMethod.isDefaultMethod()) continue nextMethod; // AspectJ Extension - allow for ITDs on the interface
 				MethodBinding[] existingMethods = (MethodBinding[]) this.inheritedMethods.get(inheritedMethod.selector);
 				if (existingMethods == null) {
 					// AspectJ Extension
 					// check for intertype declarations hitting the same type that implement the method in question (242797)
 					for (int ii=0;ii<methods.length;ii++) {
 						MethodBinding mb = methods[ii];
-						if (!mb.isAbstract() && new String(mb.selector).equals(new String(inheritedMethod.selector))) {
+						if (!mb.isAbstract() && !inheritedMethod.isDefaultMethod() && new String(mb.selector).equals(new String(inheritedMethod.selector))) {
 							if (areMethodsCompatible(mb,inheritedMethod)) {
 								continue nextMethod;
 							}