|
47 | 47 | import com.sun.tools.javac.api.JavacTaskImpl; |
48 | 48 | import com.sun.tools.javac.api.JavacTrees; |
49 | 49 | import com.sun.tools.javac.code.Attribute; |
50 | | -import com.sun.tools.javac.code.Attribute.Compound; |
51 | 50 | import com.sun.tools.javac.code.ClassFinder; |
52 | 51 | import com.sun.tools.javac.code.Symbol; |
| 52 | +import com.sun.tools.javac.code.Symtab; |
| 53 | +import com.sun.tools.javac.code.TypeTag; |
| 54 | +import com.sun.tools.javac.code.Types; |
| 55 | +import com.sun.tools.javac.code.Attribute.Compound; |
53 | 56 | import com.sun.tools.javac.code.Symbol.ClassSymbol; |
54 | 57 | import com.sun.tools.javac.code.Symbol.CompletionFailure; |
55 | 58 | import com.sun.tools.javac.code.Symbol.MethodSymbol; |
|
59 | 62 | import com.sun.tools.javac.code.Symbol.TypeSymbol; |
60 | 63 | import com.sun.tools.javac.code.Symbol.TypeVariableSymbol; |
61 | 64 | import com.sun.tools.javac.code.Symbol.VarSymbol; |
62 | | -import com.sun.tools.javac.code.Symtab; |
63 | 65 | import com.sun.tools.javac.code.Type.ArrayType; |
64 | 66 | import com.sun.tools.javac.code.Type.ClassType; |
65 | 67 | import com.sun.tools.javac.code.Type.ErrorType; |
|
71 | 73 | import com.sun.tools.javac.code.Type.ModuleType; |
72 | 74 | import com.sun.tools.javac.code.Type.PackageType; |
73 | 75 | import com.sun.tools.javac.code.Type.TypeVar; |
74 | | -import com.sun.tools.javac.code.TypeTag; |
75 | | -import com.sun.tools.javac.code.Types; |
76 | 76 | import com.sun.tools.javac.comp.Modules; |
77 | 77 | import com.sun.tools.javac.tree.JCTree; |
| 78 | +import com.sun.tools.javac.tree.TreeInfo; |
78 | 79 | import com.sun.tools.javac.tree.JCTree.JCAnnotatedType; |
79 | 80 | import com.sun.tools.javac.tree.JCTree.JCAnnotation; |
80 | 81 | import com.sun.tools.javac.tree.JCTree.JCArrayTypeTree; |
|
100 | 101 | import com.sun.tools.javac.tree.JCTree.JCTypeUnion; |
101 | 102 | import com.sun.tools.javac.tree.JCTree.JCVariableDecl; |
102 | 103 | import com.sun.tools.javac.tree.JCTree.JCWildcard; |
103 | | -import com.sun.tools.javac.tree.TreeInfo; |
104 | 104 | import com.sun.tools.javac.util.Context; |
105 | 105 | import com.sun.tools.javac.util.Names; |
106 | 106 |
|
@@ -299,7 +299,8 @@ public JavacTypeBinding getTypeBinding(com.sun.tools.javac.code.Type type, com.s |
299 | 299 | // no type information we could recover from |
300 | 300 | return null; |
301 | 301 | } |
302 | | - if (!type.isParameterized() && !type.isRaw() && type instanceof ClassType classType |
| 302 | + if (!(type.tsym instanceof ClassSymbol sym && sym.classfile == null && sym.sourcefile == null) |
| 303 | + && !type.isParameterized() && !type.isRaw() && type instanceof ClassType classType |
303 | 304 | && classType.interfaces_field == null) { |
304 | 305 | // workaround faulty case of TypeMismatchQuickfixText.testMismatchingReturnTypeOnGenericMethod |
305 | 306 | // interfaces/supertypes are not set which seem to imply that the compiler generated |
|
0 commit comments