x[3] or x['foo']Block that performs this invocation and pass the result to the given Continuation.exp=rhs
TODO: tuple assignmentfoo.@bar, which is an l-value.Env for a new block.Blocks into a tree.Throwable.getStackTrace().Block that has CallSiteTags.CallSiteBlock.Block into a collection object.Continuations into one.Builder that contextualizes call sites with the given tags.Invoker used to make a call on behalf of the given CallSiteBlock.Continuable that executes the block of code in a fresh empty environment.Continuable that executes the block in the specified environment.Script compiled from CPS-transforming GroovyShell and
wraps that into a Continuable, in the context of the given Env.Block.BooleanClosureWrapper, where the
BooleanReturningMethodInvoker is instantiated when CpsBooleanClosureWrapper.call(Object...) is called to avoid serialization
issues with that as well.CpsFunction and CpsClosureDef, which represents something that's invokable.Closure whose code is CPS-transformed.Invoker that performs the expected operation without anything extra.ClosureWriter generates this function with actual argument types.x ?: yEnvs.empty() except it allows a custom Invoker.Block is evaluated.Env.LValue and pass it to Continuation when done.lhs =~ rhsContinuable.LHS.name(...)Throwable instance of this type.Invoker is typically scoped at the whole execution.Continuable will resume from.Next object that
causes the interpreter loop to keep evaluating the continuation represented by Continuable
by passing the outcome (or throwing it)."Foo bar zot ${x}" kind of stringlhs in rhsContinuable is pointing at the end of the program which cannot
be resumed.Env.closureOwner() value.lhs << rhslhs <<= rhs[a,b,c,d] that creates a List.CpsTransformer.makeNode(String, Runnable) to create
a literal string argument.x += 3lhs && rhs&& and ||)lhs || rhsLValueBlock, such as "x[y]"Block that can come to the left hand side of an assignment, aka "l-value"
Subtypes implement LValueBlock.evalLValue(Env, Continuation) that computes LValue object,
which provides read/write access.Builder.TupleExpression.TupleExpression(Expression[]).Builder with specific method.Builder with specific method.[ a:b, c:d, e:f ] ...
We expect arguments to be multiple of two.lhs ==~ rhsLHS&.methodNamenew String[1][5]new String[1][2][3]new Object[] {1, "two"} which exists in Java but not Groovy.!bObjectInputStream with a custom ClassLoader.Builder invocations and pass them back to this closure.x--x++--x++xThrowable.printStackTrace(PrintWriter)CpsCallableInvocation from inside a constructor, there's
no way to get back to the continuation.foo.bar, which is an l-value.x..y or x..>y to create a rangeContinuation, just ignore the argument.return exp;lhs >> rhslhs >>= rhslhs >>> rhslhs >>>= rhsContinuable.suspend(Object) or
throwing an exceptionBuilder.sandboxCastOrCoerce(int, com.cloudbees.groovy.cps.Block, java.lang.Class<?>, boolean, boolean, boolean)CastExpression.isCoerce() from SandboxCpsTransformer.CpsTransformer + SandboxTransformerInvoker that goes through the groovy-sandbox GroovyInterceptor,
so that interactions with Groovy objects can be inspected.StackTraceElement that appears in the stack trace when the CPS library fixes up
the stack trace.Builder.block(Block...) but it doesn't create a new scope.null to the given continuation when done.super.foo(...)Continuable.suspend(Object) method.Next object that terminates the computation and either returns a value.Next object that terminates the computation and either returns a value or throw an exception.throw exp;CpsTransformerCallSiteTag to instruct SandboxInvoker that this code is trusted and will bypass sandbox check.Next object that terminates the computation by throwing an exception.CallSiteTag to instruct SandboxInvoker that this code is untrusted and should be under sandbox check.finalize methods when sandboxed.CpsTransformer.visit(ASTNode) but also inserts the safepoint at the top.CpsClosure to be created.Outcome.replay() but wraps the throwable into InvocationTargetException.Next object that
causes the interpreter loop to exit with the specified value, then optionally allow the interpreter
to resume with the specified Continuation.Next object that
causes the interpreter loop to exit with the specified value, then optionally allow the interpreter
to resume to the continuation represented by Continuable.Copyright © 2011–2019. All rights reserved.