diff --git a/org.eclipse.jdt.core.javac/src/org/eclipse/jdt/internal/javac/dom/JavacTypeBinding.java b/org.eclipse.jdt.core.javac/src/org/eclipse/jdt/internal/javac/dom/JavacTypeBinding.java index b3356e18..49857379 100644 --- a/org.eclipse.jdt.core.javac/src/org/eclipse/jdt/internal/javac/dom/JavacTypeBinding.java +++ b/org.eclipse.jdt.core.javac/src/org/eclipse/jdt/internal/javac/dom/JavacTypeBinding.java @@ -1798,11 +1798,16 @@ public boolean isWildcardType() { @Override public IModuleBinding getModule() { - Symbol o = this.type.tsym.owner; - if( o instanceof PackageSymbol ps) { + return getModule(this.type.tsym.owner); + } + + private IModuleBinding getModule(Symbol s) { + if( s == null ) + return null; + if( s instanceof PackageSymbol ps) { return this.resolver.bindings.getModuleBinding(ps.modle); } - return null; + return getModule(s.owner); } public void setRecovered(boolean recovered) {