These booleans are used by debugger to determine whether we are inside inline function/lambda or not.
Unfortunately,
println
is
@InlineOnly
, so, you would not see the names of the variables (
@InlineOnly
functions do not have local variables table and linenumber info, although this is going to change
@yan). However, if you create your own inline function and then use it, you will variables like
$i$f$<functionName>
and
$i$a$<functionName>
in LVT (to see the LVT, pass
-l
flag to javap). The value of these variables is not important (always false, although it can be changed in the future), but
range of these variables is what the debugger is looking at. If we are inside
$i$f...
range, we are inside inline function, if we are inside
$i$a...
range, we are inside inline lambda.