§4.3.(b) Missing base call
For each callin method, the compiler uses some flow analysis to check whether
a base call will be invoked on each path of execution (analysis is very similar
to the analysis for definite assignment regarding final variables -
JLS §16).
The compiler will issue a warning if a base call is missing either
on each path (definitely missing) or on some paths (potentially missing).
Instead of directly invoking a base call, a callin method may also call
its explicit or implicit super version using super.m()
or tsuper.m()
(see §1.3.1.(f)).
In this case the flow analysis will transitively include the called super/tsuper version.