Consider the following:
trait T {
private def field
private static def staticField
private static final def STATIC_VALUE = null
private static def staticMethod() {
}
}
class C implements T {
def m() {
T__field
T__staticField
T__STATIC_VALUE
staticMethod()
}
}
Open Declaration (F3 or Ctrl+click) on any of the expressions in C.m() navigate to the top of the source file containing the trait. By contrast, T.super.staticMethod() and public method calls support navigation.
Consider the following:
trait T { private def field private static def staticField private static final def STATIC_VALUE = null private static def staticMethod() { } } class C implements T { def m() { T__field T__staticField T__STATIC_VALUE staticMethod() } }Open Declaration (F3 or Ctrl+click) on any of the expressions in C.m() navigate to the top of the source file containing the trait. By contrast,
T.super.staticMethod()and public method calls support navigation.