All Classes and Interfaces

Class
Description
Array access like x[3] or x['foo']
assert exp : msg;
Assignment operator exp=rhs TODO: tuple assignment
Attribute access expression like foo.@bar, which is an l-value.
AST Node of Groovy for CPS execution.
 
 
Env for a new block.
"break" statement to exit a loop.
Builder pattern for constructing Blocks into a tree.
As a crude way to distinguish asynchronous caller vs synchronous caller, remember the method call about to happen so that the callee can check if it is invoked by asynchronous caller or not.
Block that has CallSiteTags.
Default implementation of CallSiteBlock.
Marker interface for objects that add metadata to call sites.
 
 
 
Catch block in a try/catch statement.
Closure instantiation: { ...
Turns a list of Block into a collection object.
Constant value.
Mutable representation of the program.
Represents the remaining computation that receives the result of Block.
Singleton implementation that maintains the singleton-ness across serialization
"continue" statement to repeat a loop.
A serializable equivalent of BooleanClosureWrapper, where the BooleanReturningMethodInvoker is instantiated when CpsBooleanClosureWrapper.call(Object...) is called to avoid serialization issues with that as well.
Common part of CpsFunction and CpsClosureDef, which represents something that's invokable.
When an CPS-interpreted method is invoked, it immediately throws this error to signal that the method execution needs to be interpreted.
 
Closure whose code is CPS-transformed.
 
 
Represents a CPS-transformed function.
 
Performs CPS transformation of Groovy methods.
 
Invoker that performs the expected operation without anything extra.
 
do { ...
x ?: y
Represents an environment in which Block is evaluated.
Utility factory methods for Env.
"++x", "--x", "x++", or "x--" operator.
for (Type var in col) { ...
for (e1; e2; e3) { ...
lhs.name(arg,arg,...)
 
if (...) { ...
Abstracts away interactions with Groovy objects, for example to provide an opportunity to intercept calls.
Resolves the current Env.closureOwner() value.
[a,b,c,d] to list.
Access to local variables and method parameters.
Logical operator (&& and ||)
Represents a variable that's assignable, which is produced by evaluating LValueBlock, such as "x[y]"
Base class for 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.
[a:b, c:d, e:f, ...]
Triplet of source file / declaring class / method name.
Method pointer expression: LHS&.methodName
Multi-dimensional array instantiation like new String[1][2][3]
 
Remaining computation to execute.
Exclude a marked method from CPS transformation.
!b
Result of an evaluation.
Property access expression like foo.bar, which is an l-value.
Env that delegates to another Env.
 
CpsTransformer + SandboxTransformer
Invoker that goes through the groovy-sandbox GroovyInterceptor, so that interactions with Groovy objects can be inspected.
exp1; exp2
 
Represents a specific location of the source file.
Handles SpreadExpression similarly to the way that SpreadMapBlock handles SpreadMapExpression, but with a groovy-cps-specific SpreadBlock.SpreadList marker class.
 
 
 
Gets a value from local variable and removes it.
switch/case statement.
 
Switches that affect the behaviour of CpsTransformer
CallSiteTag to instruct SandboxInvoker that this code is trusted and will bypass sandbox check.
Environment for evaluating the body of a try/catch block.
 
CallSiteTag to instruct SandboxInvoker that this code is untrusted and should be under sandbox check.
 
while(...) { ...
Used internally to designate methods that were actually CPS-transformed.
Yield a value and suspend the execution of the program.