/** * Check if a methodTree is overriden. * * @return true if overriden, null if it cannot be decided (method symbol not resolved or lack of * bytecode for super types). */ @CheckForNull public Boolean isOverriding() { if (isStatic() || isPrivate()) { return false; } if (isAnnotatedOverride()) { return true; } if (symbol == null) { return null; } JavaSymbol.MethodJavaSymbol methodJavaSymbol = symbol.overriddenSymbol(); if (methodJavaSymbol != null) { return methodJavaSymbol.isUnknown() ? null : true; } return false; }