That is, we set blocktype to 'declaration' while compiling it to jast, and now set it to its original value afterwards.
Unbusts the ThreadPoolScheduler build again in the async branch.
Missing cancellation-related bits so far.
When we want to decode a buf8 to utf16, we have to take two elems, assemble what Java thinks is a codepoint and append that to our StringBuilder. For buf32->utf16 we do the opposite and for buf16->utf16 we get away with appending the elems to the StringBuilder. Note: Since StringBuilder does not distinguish between utf16 and utf32, we treat them equally until we know better.
When an input line ends with '\', wait for more code before executing.
JVM backend housekeeping - remove unused vars, imports.
Will ease lowering of lexicals in Perl6::Optimizer.
This fixes a REPL bug: If a command had no output, $*MAIN_CTX wasn't being saved. This means, for example, 'use Test' (no output), followed by 'ok True' on the next line would throw an error (as if 'use Test' was never run).
This also happens to get spesh.
For now just as another attribute; there's now 3 of these that could flatten into a single attribute of flag bits.
This invokes the optimizer of the main language when there's a call back into it. This in turn means we don't need to poison all lowering of lexicals in the NQP optimizer in token/rule/regex. For now, we will poision if we spot a call back into the main language; this can be relaxed later.