Now delegating classes defined in the same project works.

At this revision, you can easily and reliably reproduce issue #164 by
creating a loop (A delegates B and B delegates A).
This commit is contained in:
Reinier Zwitserloot committed 2011-03-28 21:36:08 +02:00
1 parent 816c0b99e7
commit ab1d938ca8
1 file changed
+2 -2
@@ -74,7 +74,6 @@ import org.eclipse.jdt.internal.compiler.lookup.ArrayBinding;
import org.eclipse.jdt.internal.compiler.lookup.BaseTypeBinding;
import org.eclipse.jdt.internal.compiler.lookup.Binding;
import org.eclipse.jdt.internal.compiler.lookup.ClassScope;
import org.eclipse.jdt.internal.compiler.lookup.MemberTypeBinding;
import org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
import org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding;
import org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
@@ -475,7 +474,7 @@ public class PatchDelegate {
inner = binding;
}
if (inner instanceof MemberTypeBinding) {
if (inner instanceof SourceTypeBinding) {
ClassScope cs = ((SourceTypeBinding)inner).scope;
if (cs != null) {
try {
@@ -527,6 +526,7 @@ public class PatchDelegate {
private static final List<String> METHODS_IN_OBJECT = Collections.unmodifiableList(Arrays.asList(
"hashCode()",
"canEqual(java.lang.Object)", //Not in j.l.Object, but it goes with hashCode and equals so if we ignore those two, we should ignore this one.
"equals(java.lang.Object)",
"wait()",
"wait(long)",