set ...effect uses the first pass to tell the first input expression to use the
preCompilemethod, and the second pass uses the
nullvalue onto the stack ('returning' it from our expression.)
Contextprovides a lot of information about what's going on at this exact point in the script, giving us access to variables available, the programmatic flow tree (if/elses, loops, etc.) and a lot more.
pushNullwrite instruction pushes an
aconst_null(null) value onto the stack, making it available for whatever is using this expression.
CompileState.STATEMENTstate, so it knows what to look for next. While this is default, it is important in case an inner expression has changed this for some reason.