Skip to content

Commit 274c77c

Browse files
committed
Avoid NPE in JavacBindingResolver
1 parent c222429 commit 274c77c

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

org.eclipse.jdt.core.javac/src/org/eclipse/jdt/core/dom/JavacBindingResolver.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,8 @@
4646
import com.sun.tools.javac.api.JavacTaskImpl;
4747
import com.sun.tools.javac.api.JavacTrees;
4848
import com.sun.tools.javac.code.Attribute;
49-
import com.sun.tools.javac.code.Symbol;
50-
import com.sun.tools.javac.code.Symtab;
51-
import com.sun.tools.javac.code.TypeTag;
52-
import com.sun.tools.javac.code.Types;
5349
import com.sun.tools.javac.code.Attribute.Compound;
50+
import com.sun.tools.javac.code.Symbol;
5451
import com.sun.tools.javac.code.Symbol.ClassSymbol;
5552
import com.sun.tools.javac.code.Symbol.MethodSymbol;
5653
import com.sun.tools.javac.code.Symbol.ModuleSymbol;
@@ -59,6 +56,7 @@
5956
import com.sun.tools.javac.code.Symbol.TypeSymbol;
6057
import com.sun.tools.javac.code.Symbol.TypeVariableSymbol;
6158
import com.sun.tools.javac.code.Symbol.VarSymbol;
59+
import com.sun.tools.javac.code.Symtab;
6260
import com.sun.tools.javac.code.Type.ArrayType;
6361
import com.sun.tools.javac.code.Type.ClassType;
6462
import com.sun.tools.javac.code.Type.ErrorType;
@@ -70,8 +68,9 @@
7068
import com.sun.tools.javac.code.Type.ModuleType;
7169
import com.sun.tools.javac.code.Type.PackageType;
7270
import com.sun.tools.javac.code.Type.TypeVar;
71+
import com.sun.tools.javac.code.TypeTag;
72+
import com.sun.tools.javac.code.Types;
7373
import com.sun.tools.javac.tree.JCTree;
74-
import com.sun.tools.javac.tree.TreeInfo;
7574
import com.sun.tools.javac.tree.JCTree.JCAnnotatedType;
7675
import com.sun.tools.javac.tree.JCTree.JCAnnotation;
7776
import com.sun.tools.javac.tree.JCTree.JCArrayTypeTree;
@@ -96,6 +95,7 @@
9695
import com.sun.tools.javac.tree.JCTree.JCTypeParameter;
9796
import com.sun.tools.javac.tree.JCTree.JCVariableDecl;
9897
import com.sun.tools.javac.tree.JCTree.JCWildcard;
98+
import com.sun.tools.javac.tree.TreeInfo;
9999
import com.sun.tools.javac.util.Context;
100100
import com.sun.tools.javac.util.Names;
101101

@@ -360,7 +360,7 @@ public IBinding getBinding(final Symbol owner, final com.sun.tools.javac.code.Ty
360360
if (recoveredSymbol != null) {
361361
return getBinding(recoveredSymbol, recoveredSymbol.type);
362362
}
363-
if (type instanceof ErrorType || owner.owner == null || owner.owner.type == com.sun.tools.javac.code.Type.noType) {
363+
if (type != null && (type instanceof ErrorType || owner.owner == null || owner.owner.type == com.sun.tools.javac.code.Type.noType)) {
364364
if (type.getOriginalType() instanceof MethodType missingMethodType) {
365365
return getErrorMethodBinding(missingMethodType, owner);
366366
}

0 commit comments

Comments
 (0)