src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java
equal
deleted
inserted
replaced
59 import com.sun.tools.javac.code.Symbol.ClassSymbol; |
59 import com.sun.tools.javac.code.Symbol.ClassSymbol; |
60 import com.sun.tools.javac.code.Symbol.MethodSymbol; |
60 import com.sun.tools.javac.code.Symbol.MethodSymbol; |
61 import com.sun.tools.javac.code.Symbol.ModuleSymbol; |
61 import com.sun.tools.javac.code.Symbol.ModuleSymbol; |
62 import com.sun.tools.javac.code.Symbol.PackageSymbol; |
62 import com.sun.tools.javac.code.Symbol.PackageSymbol; |
63 import com.sun.tools.javac.code.Symbol.VarSymbol; |
63 import com.sun.tools.javac.code.Symbol.VarSymbol; |
|
64 import com.sun.tools.javac.code.TypeTag; |
64 import com.sun.tools.javac.comp.AttrContext; |
65 import com.sun.tools.javac.comp.AttrContext; |
65 import com.sun.tools.javac.comp.Env; |
66 import com.sun.tools.javac.comp.Env; |
66 import com.sun.tools.javac.model.JavacElements; |
67 import com.sun.tools.javac.model.JavacElements; |
67 import com.sun.tools.javac.model.JavacTypes; |
68 import com.sun.tools.javac.model.JavacTypes; |
68 import com.sun.tools.javac.util.Names; |
69 import com.sun.tools.javac.util.Names; |
281 return null; |
282 return null; |
282 } |
283 } |
283 MethodSymbol sym = (MethodSymbol)method; |
284 MethodSymbol sym = (MethodSymbol)method; |
284 ClassSymbol origin = (ClassSymbol) sym.owner; |
285 ClassSymbol origin = (ClassSymbol) sym.owner; |
285 for (com.sun.tools.javac.code.Type t = toolEnv.getTypes().supertype(origin.type); |
286 for (com.sun.tools.javac.code.Type t = toolEnv.getTypes().supertype(origin.type); |
286 t.hasTag(com.sun.tools.javac.code.TypeTag.CLASS); |
287 t.hasTag(TypeTag.CLASS); |
287 t = toolEnv.getTypes().supertype(t)) { |
288 t = toolEnv.getTypes().supertype(t)) { |
288 ClassSymbol c = (ClassSymbol) t.tsym; |
289 ClassSymbol c = (ClassSymbol) t.tsym; |
289 for (com.sun.tools.javac.code.Symbol sym2 : c.members().getSymbolsByName(sym.name)) { |
290 for (com.sun.tools.javac.code.Symbol sym2 : c.members().getSymbolsByName(sym.name)) { |
290 if (sym.overrides(sym2, origin, toolEnv.getTypes(), true)) { |
291 if (sym.overrides(sym2, origin, toolEnv.getTypes(), true)) { |
|
292 // Ignore those methods that may be a simple override |
|
293 // and allow the real API method to be found. |
|
294 if (sym2.type.hasTag(TypeTag.METHOD) && |
|
295 utils.isSimpleOverride((MethodSymbol)sym2)) { |
|
296 continue; |
|
297 } |
291 return t; |
298 return t; |
292 } |
299 } |
293 } |
300 } |
294 } |
301 } |
295 return null; |
302 return null; |