View | Details | Raw Unified | Return to bug 324109 | Differences between
and this patch

Collapse All | Expand All

(-)search/org/eclipse/jdt/internal/core/search/matching/MethodLocator.java (-3 / +5 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2009 IBM Corporation and others.
2
 * Copyright (c) 2000, 2010 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 677-683 Link Here
677
 * Returns IMPOSSIBLE_MATCH if it doesn't.
677
 * Returns IMPOSSIBLE_MATCH if it doesn't.
678
 */
678
 */
679
protected int resolveLevelAsSubtype(char[] qualifiedPattern, ReferenceBinding type, TypeBinding[] argumentTypes) {
679
protected int resolveLevelAsSubtype(char[] qualifiedPattern, ReferenceBinding type, TypeBinding[] argumentTypes) {
680
	if (type == null) return INACCURATE_MATCH;
680
	if (type == null || !type.isValidBinding()) return INACCURATE_MATCH;
681
681
682
	int level = resolveLevelForType(qualifiedPattern, type);
682
	int level = resolveLevelForType(qualifiedPattern, type);
683
	if (level != IMPOSSIBLE_MATCH) {
683
	if (level != IMPOSSIBLE_MATCH) {
Lines 690-696 Link Here
690
690
691
	// matches superclass
691
	// matches superclass
692
	if (!type.isInterface() && !CharOperation.equals(type.compoundName, TypeConstants.JAVA_LANG_OBJECT)) {
692
	if (!type.isInterface() && !CharOperation.equals(type.compoundName, TypeConstants.JAVA_LANG_OBJECT)) {
693
		level = resolveLevelAsSubtype(qualifiedPattern, type.superclass(), argumentTypes);
693
		ReferenceBinding superclass = type.superclass();
694
		if (superclass == null || !superclass.isValidBinding()) return INACCURATE_MATCH;
695
		level = resolveLevelAsSubtype(qualifiedPattern, superclass, argumentTypes);
694
		if (level != IMPOSSIBLE_MATCH) {
696
		if (level != IMPOSSIBLE_MATCH) {
695
			if (argumentTypes != null) {
697
			if (argumentTypes != null) {
696
				// need to verify if method may be overridden
698
				// need to verify if method may be overridden

Return to bug 324109