All Classes and Interfaces
Class
Description
Base class for all call sites.
Deprecated.
Deprecated.
Represents functional interface writer which contains some common methods to complete generating bytecode
Represents GINQ expression which could hold metadata
A base class dealing with common HTTP servlet API housekeeping aspects.
Base class for AST Transformations which will automatically throw an
InterruptedException
when
some conditions are met.Because antlr4 does not support generating lexer with specified interface,
we have to create a super class for it and implement the interface.
Because antlr4 does not support generating parser with specified interface,
we have to create a super class for it and implement the interface.
For ReaderSources that can choose a parent class, a base that
provides common functionality.
Custom type checking extensions may extend this method in order to benefit from a lot
of support methods.
An interface for MetaClass instances that "adapt" other MetaClass instances such as a proxy or
delegating MetaClass.
An aggregation of multiple bindings
AllTestSuite can be used in extension of GroovyTestSuite to execute TestCases written in Groovy
from inside a Java IDE.
Base class for any AST node which is capable of being annotated
Utility class for working with AnnotatedNodes
Visits interfaces & classes and looks for @Requires or @Ensures and creates
Closure
classes for the annotation closures.The AnnotationCollector can be used to define aliases for annotations and
attributes.
This class is the base for any annotation alias processor.
Class used by
CompilationUnit
to transform the alias class
into what is needed by the compiler.Represents an annotation "constant" that may appear in annotation attributes
(mainly used as a marker).
Resolves constants in annotation definitions.
This
BaseVisitor
walks up the class hierarchy for the given ClassNode
and adds ContractElement
annotations to method parameters.Represents an annotation which can be attached to interfaces, classes, methods, fields, parameters, and other places.
Base class for modifying the internal domain model, starting at
Contract
, and adding parts to it.Indicates what
AnnotationProcessor
implementation should be used to process
the correlating annotation.Visits annotations of meta-type
ContractElement
and applies the AST transformations of the underlying
AnnotationProcessor
implementation.Helper methods for reading/getting
AnnotationNode
instances.An Annotation visitor responsible for:
reading annotation metadata (@Retention, @Target, attribute types)
verify that an
AnnotationNode
conforms to annotation meta
enhancing an AnnotationNode
AST to reflect real annotation meta
Allows Ant tasks to
be used with a Groovy builder-style markup.
A parser plugin for the new parser.
A parser plugin factory for the new parser.
Represents one or more arguments being passed into a method
Represents an array object construction.
Defines new groovy methods which appear on arrays inside the Groovy environment.
Allows an array to be used where an Iterable is expected.
Allows an array to be used where an Iterator is expected.
Array utilities.
Utilities for handling array types
This is a generated class used internally during the writing of bytecode within the CallSiteWriter logic.
Generates Java class versions of Groovy classes using ASM.
A utility class responsible for decompiling JVM class files and producing
ClassStub
objects reflecting their structure.A helper class used to resolve references found in ASM-decompiled classes.
Base class for all assertion types.
Creates a string representation of an assertion and its recorded values.
Abstract base class for all assertion violations.
Represents an assert statement.
Central place to create
AssertStatement
instances in groovy-contracts.Replaces a given
ReturnStatement
with the appropriate assertion call statement and returns a result variable expression.Replaces a given
ReturnStatement
with the appropriate assertion call statement and returns a result variable expression.Collects all
ReturnStatement
instances from a given code block.Builds the AST from the parse tree generated by Antlr4.
Transformation to capture ASTBuilder from code statements.
Helping to create a few standard AST constructs
A common base class of AST helper methods which can be shared across the classic and new parsers
Base class for any AST node.
Holds all constants to be used as AST node metadata keys.
This class handles converting Strings to ASTNode lists.
This AST transformation aims at helping in debugging other AST transformations.
Helper class for converting AST into text.
This class is instantiated and invoked when an AST transformation is
activated.
Walks the AST and collects references to annotations that are annotated
themselves by
GroovyASTTransformation
.Stores state information about global AST transformations applied to a compilation unit.
This class handles the invocation of the ASTAnnotationTransformation
when it is encountered by a tree walk.
Manage ATN to avoid memory leak
Lazy evaluated representation of a node attribute.
Represents an attribute access (accessing the field of a class) such as the expression "foo.@bar".
Lazy evaluated representation of a node's attributes.
Class annotation used to assist in the creation of
Cloneable
classes.Handles generation of code for the @AutoClone annotation.
Intended style to use for cloning when using the
@
AutoClone annotation.Annotation to automatically add the final qualifier to method, constructor,
and closure parameters.
Handles generation of code for the
AutoFinal
annotation.Class annotation used to provide default dummy methods for a class extending an abstract super class or
implementing one or more interfaces.
Generates code for the
@AutoImplement
annotation.Base AST transformation encapsulating all common helper methods and implementing
ASTTransformation
.Base class for date and time durations.
Base class for groovy-contracts code generators.
Base JSON parser.
Base implementation class for interface
Lifecycle
.Variable annotation used for changing the base script class of the current script.
Handles transformation for the @BaseScript annotation.
All templates compiled through
MarkupTemplateEngine
extend this abstract class,
which provides a number of utility methods to generate markup.
Base class for
ClassCodeVisitorSupport
descendants.Class which delegates to a PreparedStatement but keeps track of
a batch count size.
Class which delegates to a Statement but keeps track of a batch count size.
Interceptor that registers the timestamp of each method call
before and after invocation.
BigDecimal NumberMath operations
BigInteger NumberMath operations
Binary write operations specialised for Booleans
Represents two expressions and an operation
This class is for internal use only!
This class will dispatch to the right type adapters according to the
kind of binary expression that is provided.
Base class for writing primitive typed operations
Annotates a groovy property or a class.
Handles generation of code for the
@Bindable
annotation when @Vetoable
is not present.Represents the variable bindings of a script which can be altered
from outside the script object or created outside of a script and passed
into it.
This class returns half bound
FullBinding
s on the source half to the model
object for every property reference (and I do mean every, valid or not, queried before or not).The bind path object.
A list of statements and a scope.
Allows a boolean array to be used where an Iterator is expected.
Helper class for internal use only.
Helper class for internal use only.
Helper class for internal use only.
Represents a boolean expression
Helper class for internal use only.
Represents a break statement in a switch or loop statement
An iterator that allows examining the next element without consuming it.
The
@Builder
AST transformation is used to help write classes that can be created using fluent api calls.
The transform supports multiple building strategies to cover a range of cases and there are a number
of configuration options to customize the building process.Handles generation of code for the
Builder
annotation.Base class for creating arbitrary nested trees of objects or events.
Allows a byte array to be used where an Iterator is expected.
A utility class which can be used in test cases to dump generated bytecode.
Represents some custom bytecode generation by the compiler.
A helper class for bytecode generation with AsmClassGenerator.
Helper class used by the class generator.
This class contains methods special to optimizations used directly from bytecode in Groovy 1.8
This class represents a sequence of
BytecodeInstruction
s
or ASTNode
s.Represents compile time variable metadata while compiling a method.
Cache
Represents a cacheable call site, which can reduce the cost of resolving methods
This class represents non-public API used by AsmClassGenerator.
Functions in this class are used to determine whether a certain AST node fulfills certain assertion
requirements.
Represents a case statement in a switch statement
Represents a typecast expression.
Represents a catch (Exception var) { } statement
Transforms an instance-style Groovy class or interface to become a static-style
conventional Groovy category.
Handles generation of code for the @Category annotation.
Allows a char array to be used where an Iterator is expected.
Reader
implementation that can read from String, StringBuffer,
StringBuilder, CharBuffer or GString.Utility class to guess the encoding of a given text file.
Thrown whenever pre- or post-conditions are called in a cyclic way.
Transforms expressions in a whole class.
Checks that a class satisfies various conditions including:
Incorrect class or method access modifiers
No abstract methods appear in a non-abstract class
Existence and correct visibility for inherited members
Invalid attempts to override final members
Represents access to a Java/Groovy class in an expression, such
as when invoking a static method or accessing a static type
Find classes under the specified package via some classpath entry
Usage:
Represents error occurred during finding classes
Abstract base class for generator of Java class versions of Groovy AST classes
An exception thrown by the class generator
Helper for
ClassNode
and classes handling them.Handle for all information we want to keep about the class
Indicates that annotations being marked as
@ClassInvariant
are to be treated
as class invariant modifying annotations.A class-invariant assertion.
Internal
AnnotationProcessor
implementation for class-invariants.
Code generator for class invariants.
Internal
Lifecycle
implementation for class-invariants.Thrown whenever a class invariant violation occurs.
Represents a class in the AST.
This class is used as a pluggable way to resolve class names.
Helper class to return either a SourceUnit or ClassNode.
Utility class for working with ClassNodes
Data structures holding class info to enable lazy loading
Represents any closure object in Groovy.
A Comparator which uses a closure to compare 2 values being equal
An exception thrown by a closure invocation
Represents a closure expression such as
Evaluates
ClosureExpression
instances in annotation parameters and
generates special contract closure classes from them.An interface for MetaMethods that invoke closures to implements.
This class represents a list of expressions used to
create closures.
A metaclass for closures generated by the Groovy compiler.
A MetaMethod that accepts a closure in the constructor which is invoked when the MetaMethod is called.
Represents a value model using a closure to extract
the value from some source model and an optional write closure
for updating the value.
Parameter annotation aimed at helping IDEs or the static type checker to infer the
parameter types of a closure.
If multiple candidate signatures are found after applying type hints,
a conflict resolver can attempt to resolve the ambiguity.
A closure signature hint class is always used in conjunction with the
ClosureParams
annotation.This class represents a MetaMethod that is a closure that pretends to be a static method.
Handy methods when working with Closure AST data structures.
Abstract base class for any GroovyCodeVisitor which by default
just walks the code and expression tree
Collect all recursive calls within method
Represents a simple key-value cache, which is NOT thread safe and backed by a
Map
instanceThis local transform adds a logging ability to your program using
Apache Commons logging.
Compares two objects using identity comparison.
Users wanting to customize the configuration process such as adding imports, restricting the
language features or apply AST transformations by default should implement this class, then
call the
CompilerConfiguration.addCompilationCustomizers(CompilationCustomizer...)
method.Thrown when compilation fails from source errors.
The CompilationUnit collects all compilation data as it is generated by the compiler system.
A callback interface you can use during the
classgen
phase of compilation as the compiler traverses the ClassNode tree.Deprecated.
Deprecated.
A callback interface you can use to get a callback after every
unit of the compile process.
Deprecated.
This interface is for AST transformations which must be aware of the compilation unit where they are applied.
The phases of the GroovyCompiler.
A convenience front end for getting standard compilations done.
Compilation control flags and coordination stuff.
Manages different aspects of the code of a code block like handling labels,
defining variables, and scopes.
This will let the Groovy compiler use compile time checks in the style of Java
then perform static compilation, thus bypassing the Groovy meta object protocol.
Support for compilation related tasks.
Represents the entire contents of a compilation step which consists of one or
more
ModuleNode
instances.Deprecated.
A wrapper for Closure to support composition.
Represents a simple key-value cache, which is thread safe and backed by a
Map
instanceA hash table supporting full concurrency of retrievals, adjustable expected
concurrency for updates, and a maximum capacity to bound the map by.
A builder that creates
ConcurrentLinkedHashMap
instances.A hash table that supports mostly-concurrent reading, but
exclusive writing.
A Serializable class for barrier lock
ConcurrentReaderHashMap collision list entry.
An advanced hash table supporting configurable garbage collection semantics
of keys and values, optional referential-equality, full concurrency of
retrievals, and adjustable expected concurrency for updates.
Behavior-changing configuration options for the map
An option specifying which Java reference type should be used to refer
to a key and/or value.
Represents concurrent cache holding SoftReference instance as value
A ConfigObject at a simple level is a Map that creates configuration entries (other ConfigObjects) when referencing them.
Thrown when configuration data is invalid.
Makes some initialization in order to use the
Configurator
for determining
which assertions in what packages will be executed.Handles
-ea
and -da
runtime input arguments for enabling and
disabling contract elements.Base class for console
Component which provides a styled editor for the console.
Represents a constant expression such as null, true, false.
A constructor call.
Call site for invoking static methods
metaclass - cached
method - not cached
Represents a constructor declaration
Utility class for working with ConstructorNodes
Call site where we know there is no need to unwrap arguments
Call site where we know there is no need neither unwrap nor coerce arguments
A class code visitor which is capable of remembering the context of the current
visit.
Represents a continue statement in a loop statement
Represents a contract between a supplier and a customer of a class.
Replaces annotation closures with closure implementation classes.
Package-level and class-level annotation indicating that the package is enabled for
class-invariants, pre- and post-conditions.
Indicates that annotations being marked as
@ContractElement
are to be used
by some contract element being either a class-invariant, pre- or post-condition.Checks whether the given
ClassNode
is relevant for
further processing.Keeps track of contract executions to avoid cyclic contract checks.
This class is a general adapter to map a call to a Java interface
to a given delegate.
This class is a general adapter to adapt a closure to any Java interface.
This class is a general adapter to adapt a map of closures to
any Java interface.
An abstract base class for nodes in the concrete syntax tree that is
the result of parsing.
A wrapper for Closure to support currying.
This factory generates an array of compilation customizers.
An enhancement of Groovy's Sql class providing support for accessing
and querying databases using POGO fields and operators rather than
JDBC-level API calls and RDBMS column names.
Represents data source expression
Represents data source holder, e.g.
This class defines new Groovy methods which appear on normal JDK
Date/Time API (java.time) classes inside the Groovy environment.
This class defines new static extension methods which appear on normal JDK
Date/Time API (java.time) classes inside the Groovy environment.
This class defines new groovy methods which appear on normal JDK
Date and Calendar classes inside the Groovy environment.
This class defines new groovy static methods which appear on normal JDK
Date and Calendar classes inside the Groovy environment.
DatumDependentDuration represents durations whose length in milliseconds
cannot be determined without knowing the datum point.
Represents one or more local variables.
A
ClassNode
kind representing the classes coming from *.class files decompiled using ASM.A default action implementation
A default implementation of MethodKey
Internal class for fast processing of Strings during JSON parsing - default version
Defines new groovy methods which appear on classes inside the Groovy environment.
Support methods for DefaultGroovyMethods and PluginDefaultMethods.
This class defines all the new static groovy methods which appear on normal
JDK classes inside the Groovy environment.
A JsonGenerator that can be configured with various
JsonGenerator.Options
.A converter that handles converting a given type using a closure.
WARNING: This class is for internal use only!
We use this class to store information about if a default MetaClass is
used for certain primitives.
A default implementation of MethodKey
Intended mode to use when generating constructors to emulate default parameter values when using the
TupleConstructor
annotation.This strategy is used with the
Builder
AST transform to create a builder helper class
for the fluent creation of instances of a specified class. It can be used at the class,
static method or constructor levels.Represents a column using a ValueModel to extract the value.
A default table model made up of PropertyModels on a Value model.
The default type checking handler is used by the standard type checker and doesn't handle
any of the type checking errors by default.
Class providing various type conversions, coercions and boxing/unboxing operations.
Annotation to automatically delegate part of the functionality of an owner class to the
annotated delegation target.
Handles generation of code for the
@Delegate
annotationThis annotation can be used by API or DSL writers to specify what the delegate
type of a closure will be.
Specifies the delegate for a
@DelegatesTo
annotated parameter of the same method.This class will delegate all calls to a WriterController given in the constructor.
Base class for compilation customizers which delegate to another customizer.
A writer which delegates to another writer and supports an additional indenting level.
Use this exception to mark a method implementation as being deprecated.
Provide friendly error messages when parsing errors occurred.
A helper class for creating a W3C DOM tree
Category class which adds GPath style operations to Java's DOM classes.
A SAX handler for turning XML into Groovy scripts
Allows a double array to be used where an Iterable is expected.
Allows a double array to be used where an Iterator is expected.
A comparator of two double values.
An iterator providing the columns of a double[][].
Represents a do { ...
To generate a class that has all the fields and methods, except that fields are not initialized
and methods are empty.
Duration represents time periods which have values independent of the context.
Implements contract support for setter methods and default constructors of POGOs.
Represents a short ternary expression x ?: y, which is equal to
Placeholder for an empty expression.
Constructing Ranges like 0..<0
A buffered writer only for OutputStreamWriter that is aware of
the encoding of the OutputStreamWriter.
This class defines all the encoding/decoding groovy methods which enhance
the normal JDK classes when inside the Groovy environment.
Keep this constant in a separate file as it is troublesome for Antlr to parse for doc purposes.
Represents a method postcondition.
Internal
AnnotationProcessor
implementation for post-conditions.Represents multiple postconditions.
A class that can determine the weight of an entry.
Enums have a parent constructor with two arguments from java.lang.Enum.
Represents the anonymous inner class for an enum constant.
A type checking extension that will take care of handling errors which are specific to enums.
Class annotation used to assist in creating appropriate
equals()
and hashCode()
methods.An AST transform with the ability to report errors.
A base class for collecting messages and errors during processing.
Provides services for reporting compilation errors to the
user.
Allow easy integration from Groovy into Java through convenience methods.
Represents an evictable memoize cache with its essential methods
Represents the action to deal with the cache
Represents an eviction strategy for the cache with limited size
A listener registered for notification when an entry is evicted.
A class for error messages produced by the parser system.
Identifies a variable to be expanded into the
sql string rather than representing a placeholder.
Represents a dynamically expandable bean.
ExpandoMetaClass is a MetaClass that behaves like an Expando, allowing the addition or replacement
of methods, properties and constructors on the fly.
A handle for the MetaClassRegistry that changes all classes loaded into the Grails VM
to use ExpandoMetaClass instances
Base class for any expression.
Helper class that takes an Expression and if visited will load it normally,
storing the result in a helper variable, which then can be requested after
the visit is completed.
A simple statement such as a method call where the return value is ignored
Provides a way to transform expressions
Internal utility class for extracting a boolean expression from the given expression or statement.
A specialized Groovy AST visitor meant to perform additional verifications upon the
current AST.
This class is used to make extension methods lookup faster.
Represents method nodes which are used by the static type checker to virtually add methods
coming from
DGM-like
methods.An extension module is a class responsible for providing a list of
meta methods
to the Groovy
compiler and runtime.The extension method registry is responsible for collecting methods (or static methods) which are added to existing
classes and may be called like regular methods.
A module extension scanner is responsible for searching classpath modules,
loading metadata from module descriptors, then perform custom tasks for each
module.
Represents a class not in the codebase being processed.
Class annotation used to assist in the creation of
Externalizable
classes.Handles generation of code for the @ExternalizeMethods annotation.
Class annotation used to assist in the creation of
Externalizable
classes.This strategy is used with the
Builder
AST transform to populate a builder helper class
so that it can be used for the fluent creation of instances of a specified class. The specified class is not modified in any way and may be a Java class.Mix of BuilderSupport and SwingBuilder's factory support.
Support class for creating XML Factories
Factory method to create the service.
Internal class for fast processing of Strings during JSON parsing
Variable annotation used for changing the scope of a variable within a script from
being within the run method of the script to being at the class level for the script.
Handles transformation for the @Field annotation.
Represents a field access such as the expression "this.foo".
Represents a field (member variable)
This utility is meant to be used to replace direct calls to private
field variables in class invariants.
FileIterator
is an iterator over a
number of files from a collection of FileSet instances.A ReaderSource for source files.
FileScanner
is a bean which allows the iteration
over a number of files from a collection of FileSet instances.Command-line compiler (aka.
This is a helper class, to provide a controlled entry point for the groovyc
ant task forked mode.
Represents particular files of interest.
Represents special return values for the 'preDir', 'postDir' and 'visit'/supplied Closures used with
ResourceGroovyMethods.traverse(java.io.File, java.util.Map, groovy.lang.Closure)
and related methods to control subsequent traversal behavior.Lazy evaluated representation of a node's attributes filtered by a Closure.
Lazy evaluated representation of child nodes filtered by a Closure.
Represents filter expression
Annotation to add the final modifier to classes, methods, constructors, and fields.
Handles generation of code for the
Final
annotation.A hint used to instruct the type checker to pick the first parameter type.
A hint used to instruct the type checker to pick the type of the component of the first parameter type, which is therefore
expected to be an array, like in this example:
A hint used to instruct the type checker to pick the first generic type of the first parameter type.
A hint used to instruct the type checker to pick the second generic type of the first parameter type.
A hint used to instruct the type checker to pick the third generic type of the first parameter type.
Allows a float array to be used where an Iterator is expected.
An iterator providing the columns of a float[][].
FloatingPoint (Double and Float) NumberMath operations
Stream writer which flushes after each write operation.
Formatting methods
Represents a number of field models which can be ValueModel,
PropertyModel, TableModel, TreeModel or nested FormModel instances
Represents a standard for loop in Groovy
This signature hint uses abstract methods from some type (abstract class or interface) in order
to infer the expected parameter types.
Represents the from expression
A closure parameter hint class that is convenient if you want to use a String representation
of the signature.
Backport of Java8 Function.
Handy methods when working with the Groovy AST.
Marks class members that have been generated by the compiler.
Marker interface to identify closures generated by the groovy compiler.
An interface implemented by some Groovy proxies which gives access to the proxied object.
Marker interface to identify lambda generated by the groovy compiler.
Generates Java stubs from Groovy sources.
A context shared across generations of a class and its inner classes.
This class is used to describe generic type signatures for ClassNodes.
Represents
GenericsType
name.Utility methods to deal with parameterized types.
Verify correct usage of generics.
The default base visitor for GINQ AST
Build the AST for GINQ
Handles generation of code for the
@GQ
annotation.Represents the visitor for AST of GINQ
Represents GINQ expression, which has the following structure:
Represents GINQ syntax error
Exception will be thrown by recursive calls in closures and caught in while loop to continue to LOOP_LABEL
Base class for representing lazy evaluated GPath expressions.
Method annotation to make a method call returning GINQ result
Used to grab the referenced artifact and its dependencies and make it available on the Classpath.
Transformation for declarative dependency management.
Used to modify the grape configuration for grab requests.
Used to exclude an indirectly referenced artifact (a transitive dependency) from the classpath.
Used to add a repository for resolving Grape dependencies.
Facade to GrapeEngine.
Sometimes we will need more than one grab per class, but we can only add
one annotation type per annotatable node.
Executes a series of Groovy statements.
GroovyAssert
contains a set of static assertion and test helper methods for JUnit 4+.This is an annotation on a class, currently just
ASTTransformation
.This is an annotation on some item that indicates that
an associated transform classes should be executed.
This class represents an error that is thrown when a bug is
recognized inside the runtime.
Compiles Groovy source files using Ant.
A special "marker" style interface allowing Groovy classes to implement both
Runnable and Callable yet give preference to Runnable (for backwards compatibility)
for APIs having both Runnable and Callable methods.
Support methods for Groovy category usage
A ClassLoader which can load Groovy classes.
Abstraction for Java version dependent ClassValue implementations.
GroovyClassValue implementation that simply delegates to Java 7's java.lang.ClassValue
A special visitor for working with the structure of a class.
CodeSource wrapper class that allows specific security policies to be associated with a class
compiled from groovy source.
Permission required to explicitly specify a codebase for a groovy script whose
codebase cannot be determined.
An implementation of the visitor pattern for working with ASTNodes.
Used to represent compiled Groovy scripts.
Compiles Groovy source files.
An annotation to hold the groovydoc for the annotated element at runtime, we call it "Runtime Groovydoc".
Represents groovydoc
Access to the GroovyDoc tool from Ant.
Represents Groovydoc Holder
A utilities for managing groovydoc, e.g.
TODO parse groovydoc to get tag content
Process Groovydoc templates.
A visitor which collects Groovydoc information.
Write GroovyDoc resources to destination.
An interface for use by all Groovy compiler exceptions.
Marker interface used to notify that all methods should be intercepted through the
invokeMethod
mechanism
of GroovyObject
.The lexer for Groovy programming language, which is based on the lexer generated by Antlr4
The parser for Groovy programming language, which is based on the parser generated by Antlr4
A Command line to execute groovy.
A GroovyObject facade for an underlying MBean which acts like a normal
groovy object but which is actually implemented via
an underlying JMX MBean.
The interface implemented by all Groovy objects.
Base class for Java objects wishing to be Groovy objects.
This class provides an empty implementation of
GroovyParserVisitor
,
which can be extended to create a visitor which only needs to handle a subset
of the available methods.This interface defines a complete generic visitor for a parse tree produced
by
GroovyParser
.A PrintStream that outputs objects in Groovy style.
A PrintWriter that outputs objects in Groovy style.
Allows frameworks that integrate with Groovy to determine how Groovy files are resolved.
Represents an extent of objects
GroovyResultSetExtension implements additional logic for ResultSet.
GroovyResultSetProxy is used to create a proxy for GroovyResultSet.
Represents an extent of objects.
Classes which can run scripts should implement this interface.
Registry of services that implement the
GroovyRunner
interface.An exception thrown by the interpreter
Specific script engine able to reload modified scripts as well as dealing properly
with dependent scripts.
A factory class conforming to JSR-223 which is used to instantiate
Groovy
ScriptEngines
and also exposes metadata describing
Groovy's engine class.JSR-223 Engine implementation.
This servlet will run Groovy scripts as Groovlets.
Represents a groovy shell capable of running arbitrary groovy scripts
Simple server that executes supplied script against a socket.
Helper class to initialize the Groovy runtime.
Represents a syntax error of groovy program
A JUnit 3
TestCase
base class in Groovy.A TestSuite which will run a Groovy unit test case inside any Java IDE
either as a unit test case or as an application.
Base class for type checking extensions written in Groovy.
Event handler registration:
setup Registers closure that runs after the type checker finishes initialization
finish Registers closure that runs after the type checker completes type checking
beforeVisitClass Registers closure that runs before type checking a class
afterVisitClass Registers closure that runs after having finished the visit of a type checked class
beforeVisitMethod Registers closure that runs before type checking a method body
afterVisitMethod Registers closure that runs after type checking a method body
beforeMethodCall Registers closure that runs before the type checker starts type checking a method call
afterMethodCall Registers closure that runs once the type checker has finished type checking a method call
methodNotFound Registers closure that runs when it fails to find an appropriate method for a method call
ambiguousMethods Registers closure that runs when the type checker cannot choose between several candidate methods
onMethodSelection Registers closure that runs when it finds a method appropriate for a method call
unresolvedVariable Registers closure that runs when the type checker finds an unresolved variable
unresolvedProperty Registers closure that runs when the type checker cannot find a property on the receiver
unresolvedAttribute Registers closure that runs when the type checker cannot find an attribute on the receiver
incompatibleAssignment Registers closure that runs when the type checker thinks that the right-hand side of an assignment is incompatible with the left-hand side
incompatibleReturnType Registers closure that runs when the type checker thinks that a return value is incompatibe with the return type
Expression categorization:
isAnnotationConstantExpression Determines if argument is an
AnnotationConstantExpression
isArgumentListExpression Determines if argument is an ArgumentListExpression
isArrayExpression Determines if argument is an ArrayExpression
isAttributeExpression Determines if argument is an AttributeExpression
isBinaryExpression Determines if argument is a BinaryExpression
isBitwiseNegationExpression Determines if argument is a BitwiseNegationExpression
isBooleanExpression Determines if argument is a BooleanExpression
isCastExpression Determines if argument is a CastExpression
isClassExpression Determines if argument is a ClassExpression
isClosureExpression Determines if argument is a ClosureExpression
isConstantExpression Determines if argument is a ConstantExpression
isConstructorCallExpression Determines if argument is a ConstructorCallExpression
isDeclarationExpression Determines if argument is a DeclarationExpression
isElvisOperatorExpression Determines if argument is an ElvisOperatorExpression
isEmptyExpression Determines if argument is an EmptyExpression
isFieldExpression Determines if argument is a FieldExpression
isGStringExpression Determines if argument is a GStringExpression
isLambdaExpression Determines if argument is a LambdaExpression
isListExpression Determines if argument is a ListExpression
isMapExpression Determines if argument is a MapExpression
isMapEntryExpression Determines if argument is a MapEntryExpression
isMethodCallExpression Determines if argument is a MethodCallExpression
isMethodPointerExpression Determines if argument is a MethodPointerExpression
isMethodReferenceExpression Determines if argument is a MethodReferenceExpression
isNamedArgumentListExpression Determines if argument is a NamedArgumentListExpression
isNotExpression Determines if argument is a NotExpression
isPostfixExpression Determines if argument is a PostfixExpression
isPrefixExpression Determines if argument is a PrefixExpression
isPropertyExpression Determines if argument is a PropertyExpression
isRangeExpression Determines if argument is a RangeExpression
isSpreadExpression Determines if argument is a SpreadExpression
isSpreadMapExpression Determines if argument is a SpreadMapExpression
isStaticMethodCallExpression Determines if argument is a StaticMethodCallExpression
isTernaryExpression Determines if argument is a TernaryExpression
isTupleExpression Determines if argument is a TupleExpression
isUnaryMinusExpression Determines if argument is a UnaryMinusExpression
isUnaryPlusExpression Determines if argument is a UnaryPlusExpression
isVariableExpression Determines if argument is a VariableExpression
General utility:
Delegates to AbstractTypeCheckingExtension
Imports static members of ClassHelper
Imports static members of StaticTypeCheckingSupport
Represents group
Represents group by expression
Represents a String which contains embedded values such as "hello there
${user} how are you?" which can be evaluated lazily.
Represents a String expression which contains embedded values inside
it such as "hello there ${user} how are you" which is expanded lazily
Default implementation of a GString used by the compiler.
Processes template source files substituting variables and expressions into
placeholders in a template source text to produce the desired output using
a streaming approach.
This class is primarily intended for INTERNAL USE.
An interface for things that need to be cleaned up after
operations complete.
A utility class to help calculate hashcode values
using an algorithm similar to that outlined in
"Effective Java, Joshua Bloch, 2nd Edition".
Check if there are any recursive calls in a method
Represents having expression
Represents an if (condition) { ...
An exception occurred if a dynamic property dispatch fails with a
field not accessible.
Handles generation of code for the @Immutable annotation.
Class annotation used to assist in the creation of immutable classes.
Class annotation used to assist in the creation of immutable classes.
This compilation customizer allows adding various types of imports to the compilation unit.
This factory allows the generation of an
import customizer
.Represents an import statement.
An exception occurred when invoking a Closure with the wrong number and/or
types of arguments
Indicates experimental and still-to-be-refined API, which may change at any time.
A helper class for printing indented text.
Field annotation used with properties to provide an indexed getter and setter for the property.
Handles generation of code for the
@
IndexedProperty annotation.Class for handling array access through invokedynamic using static callsite information
Dummy class used by the indy implementation.
This class contains guards, runtime filters and
MethodType signatures used by indy.
Deprecated.
Bytecode level interface for bootstrap methods used by invokedynamic.
Enum for easy differentiation between call types
Enum for easy differentiation between call types
This class contains math operations used by indy instead of the normal
meta method and call site caching system.
Multi type dispatcher for binary expression backend combining indy and static compilation
Class annotation to make constructors from a super class available in a subclass.
Handles generation of code for the
@
InheritConstructors annotation.This strategy is used with the
Builder
AST transform to create a builder helper class
for the fluent and type-safe creation of instances of a specified class.Internal phantom type used by the
InitializerStrategy
to indicate that a property has been set.Internal phantom type used by the
InitializerStrategy
to indicate that a property remains unset.This factory lets a user define a compilation customizer without having to define
an anonymous inner class.
Represents an inner class definition.
A typed parameter passed to, and returned from a CallableStatement.
A typed parameter to pass to a query
A ReaderSource for source strings.
The Inspector provides a unified access to an object's
information that can be determined by introspection.
Allows an int array to be used where an Iterable is expected.
Allows an int array to be used where an Iterator is expected.
A comparator of two int values.
Integer NumberMath operations
Implementers of this interface can be registered in the ProxyMetaClass for
notifications about method calls for objects managed by the ProxyMetaClass.
Represents an inner class defined as helper for an interface.
Marks class members that are intended for internal use.
An iterator providing the columns of an int[][].
Represents a list of Integer objects starting at and potentially including a specified
from
value up (or down) to and potentially including a given to
value.Represents invalid options, e.g.
Represents a class-invariant.
Represents multiple invariants
This Writer is used to generate the call invocation byte codes
for usage by invokedynamic.
A static helper class to make bytecode generation easier and act as a facade over the Invoker
An exception thrown if a method is called and an exception occurred
Wrap the body of a method in a while loop, nested in a try-catch.
Container for input/output handles.
Verbosity for simple logging: QUIET, INFO, VERBOSE, DEBUG
This class defines new groovy methods for Readers, Writers, InputStreams and
OutputStreams which appear on normal JDK classes inside the Groovy environment.
An implementation for BufferedIterator wraps Iterator.
A closure which stores calls in a List so that method calls
can be iterated over in a 'yield' style way
An agent that can be used to defer cleanup operations to
a later time.
Java 8 based functions.
Compilation Unit capable of compiling Java source files.
A shell for compiling or running pure Java code
Compilation unit to only generate stubs.
Runtime exception used by JmxBuilder.
The JmxBuilderModelMBean is the MBean class that proxies exported POGO/POJO inside the MBeanServer.
The JmxEventEmitter is a JMX Broadcaster class that is used to send generic events on the MBeanServer's
event bus.
This is the management interface for JmxEventEmitter.
The JmxEventListener class is used by the builder to listen to events on the event bus.
Represents join expression
A builder for creating JSON payloads.
Utility class used as delegate of closures representing JSON objects.
JsonException
is the exception thrown by the JSON builder and slurper classes,
whenever a problem occurs when creating or parsing JSON data structures.This works in index overlay mode or chop mode.
Generates JSON from objects.
Handles converting a given type.
A builder used to construct a
JsonGenerator
instance that allows
control over the serialized JSON output.The lexer reads JSON tokens in a streaming fashion from the underlying reader.
Class responsible for the actual String serialization of the possible values of a JSON structure.
Represents unescaped JSON
This is the parser interface that backs the new JsonSlurper.
Converts an input JSON String into Java objects works with String or char array
as input.
Allows selection of parser type for new JsonSlurper.
Converts an input JSON String into Java objects works with String or char array
as input.
This has the same interface as the original JsonSlurper written for version 1.8.0, but its
implementation has completely changed.
This is the original slurper included in case someone relies on its exact behavior.
A JSON token, with a type, line / column information, and the text of that token.
The original slurper and lexer use this class.
Integration code for running JUnit5 tests in Groovy.
Class annotation used as a marker for immutable classes.
This class checks the handling of labels in the AST
Represents a lambda expression such as one of these:
Field annotation to simplify lazy initialization.
Handles generation of code for the @Lazy annotation
A
LazyInitializable
is an object that can be initialized lazily.This maps only builds once you ask for a key for the first time.
Soft reference with lazy initialization under lock
This class is important to the performance of the parser.
The
@Immutable
transformation in earlier versions of Groovy tried to be smart
in the case of an immutable class with a single HashMap property, the supplied Map constructor
tried to be compatible with both expected tuple behavior and expected named-argument behavior
by peeking into the supplied map and guessing as to which approach might be applicable.Manage ATN for lexer to avoid memory leak
Swing application to graphically display the tokens produced by the lexer.
Specifies life-cycle hook-ins for applying AST transformation logic before and
after the annotation processors have been run.
AST transformation visitor which is triggered after applying
AnnotationProcessor
related transformations.AST transformation visitor which is triggered before applying
AnnotationProcessor
related transformations.Finds and loads implementation classes of interface
Lifecycle
.Represents limit expression
The
LineColumnReader
is an extension to BufferedReader
that keeps track of the line and column information of where the cursor is.Represents a link pair (href, packages).
An implementation for BufferedIterator wraps ListIterator.
Represents a list expression [1, 2, 3] which creates a mutable List
Represents a
Map
that is optimized for a small number of entries.This class is used internally by the compiler to transform expressions
like multiple assignments into a list of assignments.
A wrapper for
List
which automatically grows the list when either ListWithDefault.get(int)
or
ListWithDefault.getAt(int)
is called with an index greater than or equal to size()
.A
ListModel
implementation that's backed by a live List
.Class used to configure a RootLoader from a stream or by using
its methods.
A base class for compilation messages.
A bit simplified lock designed to be inherited by.
This local transform adds a logging ability to your program using
java.util.logging.
This class contains the logic of how to weave a Java Util Logging logger into the host class.
This local transform adds a logging ability to your program using
Log4j logging.
This local transform adds a logging ability to your program using
Log4j2 logging.
This class provides an AST Transformation to add a log field to a class.
A LoggingStrategy defines how to wire a new logger instance into an existing class.
A LoggingStrategy defines how to wire a new logger instance into an existing class.
A ClassVisitor proxy, which can log bytecode generation
Logging bytecode generation, which can make debugging easy
Provides a very, very basic logging API.
Helper to make logging from Ant easier.
Allows a long array to be used where an Iterable is expected.
Allows a long array to be used where an Iterator is expected.
A comparator of two long values.
An iterator providing the columns of a long[][].
Long NumberMath operations
This is an AST Node that provides some sort of looping mechanism.
A cache backed by a ConcurrentLinkedHashMap
Runtime support for
since 2.5.0
Transforms
MacroClass
calls into its ClassNodeMacro method context.
Stub for macro calls.
A queue that stores values wrapped in a Reference, the type of which is
determined by the provided
ReferenceBundle
.Deprecated.
This is a basic implementation of a map able to forget its values.
This is a basic implementation of a map able to forget its keys could be weak/soft/strong references.
Deprecated.
Class annotation used to assist in the creation of map constructors in classes.
Handles generation of code for the @MapConstructor annotation.
A Map.Entry implementation.
Represents an entry inside a map expression such as
1 : 2
or 'foo' : 'bar'
.A special hint which handles a common use case in the Groovy methods that work on maps.
Represents a map expression [1 : 2, "a" : "b", x : y] which creates a mutable Map
This holds a mapping from value key to value value to maximize laziness.
Map utilities.
A wrapper for Map which allows a default value to be specified using a closure.
A helper class for creating XML or HTML markup.
A helper class for MarkupBuilder.
A template engine which leverages
StreamingMarkupBuilder
to generate XML/XHTML.A template resolver which avoids calling
ClassLoader.getResource(String)
if a template path already has
been queried before.Represents highlighter to highlight matched parentheses, brackets and curly braces when caret touching them
Represents a Java source file in memory to compile
Implements memoize for Closures.
Represents a memoize cache with its essential methods
Represents a provider used to create value
Method annotation that creates a cache for the results of the execution of the annotated method.
Handles generation of code for the
Memoized
annotation.A base class for compilation messages.
Message source backed up by one or more
ResourceBundle
instances for simple i18n support.Represents the length property of an array
Represents a property on a bean which may have a getter and/or a setter
A MetaClass within Groovy defines the behaviour of any given Groovy or Java class.
A MetaClass within Groovy defines the behaviour of any given Groovy or Java class
The one and only implementation of a metaclass.
Call site for constructor
metaclass - cached
method - not cached
Allows methods to be dynamically added to existing classes at runtime
Deprecated.
use
LinkedHashMap
insteadThis is a helper class which is used only by indy.
A MetaClassRegistry is an object that is responsible for managing a cache of MetaClass instances.
Class used as base for the creation of MetaClass implementations.
An event used to propagate metaclass updates
A listener called whenever a constant MetaClass is set, removed or replaced.
A registry of MetaClass instances which caches introspection and
reflection information and allows methods to be dynamically added to
existing classes at runtime
Call site which holds reference to metaclass.
Represents a property in an Expando object
A
SimpleExtensionModule
implementation which reads extension classes
metadata from META-INF.Common values of a class member -- a field, property, method, or constructor.
Represents a Method on a Java object a little like
Method
except without using reflection to invoke the methodCall site which caches meta method
An interface that defines the API usable by clients of Groovy's Meta Object Protocol (MOP).
Represents a property on a bean which may have a getter and/or a setter
Interface defining common methods for method calls.
A helper class to invoke methods more easily in ASM
A method call on an object or class.
Utility class for commonly called methods
Represents a method on an object using a closure, which can be invoked at any
time.
An abstract base class for a key used for comparators and Map keys to look up a method by
name and parameter types
Wrapper for a method for a property get or set.
Wrapper for a method realizing the property getter.
Wrapper for a method realizing the property get.
Represents a method declaration.
Utility class for working with MethodNodes
Represents a method pointer on an object such as
foo.&bar
which means find the method pointer for the bar
method on the foo
instance.Generates bytecode for method pointer expressions.
Utility class for MissingMethodException, MissingPropertyException, etc.
Represents a method reference or a constructor reference,
e.g.
Generates bytecode for method reference expressions.
This exception is thrown if the runtime is unable to select
a method.
An exception occurred if a dynamic method dispatch fails with an unknown class.
An exception occurred if a dynamic field dispatch fails with an unknown field.
An exception occurred if a dynamic method dispatch fails with an unknown method.
A stack less exception used to indicate, that the execution of a missingMethod
method failed with a MissingMethodException.
An exception occurred if a dynamic property dispatch fails with an unknown property.
Deprecated.
Static mixins have been deprecated in favour of traits.
Deprecated.
static mixins have been deprecated in favour of traits (trait keyword).
MetaMethod for mixed in classes
MetaProperty for mixed in classes
Represents a mixin which can be applied to any ClassNode to implement mixins
The ProxyMetaClass for the MockInterceptor.
Represents a modifier
Represents a module, which consists typically of a class declaration
but could include some imports, some statements and multiple classes
intermixed with statements like scripts in Python or Ruby
Represents multiple other exceptions
This class represents a property with multiple setters.
An interface that defines methods that implementers of mutable Meta classes should specify.
Represents one or more arguments being passed into a method by name
Marker interface used to indicate that the property names of the annotated parameter
represent valid key names when using named arguments and that the property types
are applicable for type checking purposes.
Marker interface used to indicate that the name of the annotated parameter
(or specified optional name) is a valid key name when using named arguments
and that the parameter type is applicable for type checking purposes.
Collector annotation for
NamedParam
.Represents a value with name
Allows construction of a named-arg equivalent method or constructor.
A simple helper class which acts as a factory of
QName
instances.A helper class for creating namespaces for GroovyMarkup
A helper class for creating namespaced GroovyMarkup
Represents a nested value model such as a PropertyModel
or a ClosureModel
Annotation that supports writing constructor call expressions without the 'new'
keyword.
Handles generation of code for the
@Newify
AST transform.A MetaMethod implementation where the underlying method is really a static
helper method on some class but it appears to be an instance method on a class.
Base class for NewInstanceMetaMethod and NewStaticMetaMethod
A MetaMethod implementation where the underlying method is really a static
helper method on some class.
This class defines new groovy methods for Readers, Writers, InputStreams and
OutputStreams which appear on normal JDK classes inside the Groovy environment.
Lazy evaluated representation of a GPath expression returning no children.
Represents an arbitrary tree node which can be used for structured metadata or any arbitrary XML-like tree.
Represents a node.
A helper class for creating nested trees of Node objects for
handling arbitrary data
Lazy evaluated representation of a child node.
Lazy evaluated representation of child nodes.
Helper class for iterating through nodes.
A List implementation which is returned by queries on a
Node
which provides some XPath like helper methods for GPath.An interface to mark a node being able to handle metadata.
Lazy evaluated representation of parent nodes without duplicates
A helper class for creating nested trees of data
Represents a sequence of one or more objects of a given type.
Class annotation used to demarcate non-sealed classes.
Handles generation of code for the @Sealed annotation.
Method annotation used to invert test case results.
Generates code for the
@NotYetImplemented
annotation.Class, method or constructor annotation which indicates that each parameter
should be checked to ensure it isn't null.
Handles generation of code for the @NullCheck annotation.
A NullObject pattern implementation for ProtectionStorage
Doesn't protect any resources.
A Writer that eats its input.
Compares two objects using Groovy's friendly comparison algorithm, i.e.
Stateless objects used to perform math on the various Number subclasses.
Represents an immutable list of Numbers from a value to a value with a particular step size.
Helper class for processing Groovy numeric literals.
A builder for creating object graphs.
Each node defines the class to be created and the property on its parent (if any) at the same time.
Each node defines the class to be created and the property on its parent (if any) at the same time.
Strategy for setting a child node on its parent.
Useful for handling Lists/Arrays vs normal properties.
Useful for handling Lists/Arrays vs normal properties.
Strategy for resolving a classname.
Default impl that calls parent.propertyName = child
If parent.propertyName is a Collection it will try to add child to the collection.
If parent.propertyName is a Collection it will try to add child to the collection.
Default impl that capitalizes the classname.
Default impl, always returns 'id'
Default impl that calls Class.newInstance()
Default impl, always returns 'refId'
Default impl that returns parentName and childName accordingly.
Strategy for picking the correct synthetic identifier.
Strategy for creating new instances of a class.
Useful for plug-in calls to non-default constructors.
Useful for plug-in calls to non-default constructors.
Strategy for picking the correct synthetic reference identifier.
Strategy for resolving a relationship property name.
Just hold an object
Represents an inclusive list of objects from a value to a value using
comparators.
List decorator that will trigger PropertyChangeEvents when a value changes.
An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't.
An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't.
Map decorator that will trigger PropertyChangeEvents when a value changes.
An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't.
An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't.
Set decorator that will trigger PropertyChangeEvents when a value changes.
An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't.
An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't.
Central place where code generation for the old closure variable
takes place.
Represents on expression
Allows renaming of Groovy's operator methods.
Handles transformation for the @OperatorRename annotation.
Visitor to produce several optimizations:
to replace numbered constants with references to static fields
remove superfluous references to GroovyObject interface
Indicates that a method or property can be used to set a CLI option.
A helper class for sorting objects via a closure to return the field
or operation on which to sort.
Represents order by expression
A parameter to be returned from a CallableStatement.
Represents a package in the AST.
Annotation used for turning off Groovy's auto visibility conventions.
Handles transformation for the @PackageScope annotation.
Intended target when
@
PackageScope is placed at the class level.Represents a parameter on a constructor or method call.
Manage ATN for parser to avoid memory leak
A simple extension point to allow us to switch between the classic Groovy parser and the new Antlr based parser(s).
A factory of parser plugin instances.
Represents partition
Systematically generate permutations.
Compilation phase identifiers.
Base class for hints which use the type of a parameter of the annotated method as the signature.
Returns the first of several candidates found.
Plain ordinary object call site
metaclass - cached
method - cached
A buffered writer that gobbles any \r characters
and replaces every \n with a platform specific newline.
This local transform adds a logging ability to your program using
java.logging.
This class contains the logic of how to weave a Java platform logger into the host class.
Defines new Groovy methods which appear on normal JDK 10
classes inside the Groovy environment.
Defines new Groovy methods which appear on standard Java 8 classes within the
Groovy environment.
Defines new Groovy methods which appear on normal JDK 9
classes inside the Groovy environment.
Call site for GroovyInterceptable
POGO call site
metaclass - cached
method - cached
Call site where we know there is no need to unwrap arguments
Call site where we know there is no need neither unwrap nor coerce arguments
Marker interface to indicate that the normal GroovyObject methods should not be added.
POJO call site
metaclass - cached
method - not cached
POJO call site
metaclass - cached
method - cached
Call site where we know there is no need to unwrap arguments
Call site where we know there is no need neither unwrap nor coerce arguments
Utilities for configuring node positions
A helper interface for factories which require post-processing of generated nodes.
Indicates that annotations being marked as
@Postcondition
are to be treated
as post-condition modifying annotations.A post-condition assertion.
Code generator for postconditions.
Internal
Lifecycle
implementation for post-conditions.Thrown whenever a postcondition violation occurs.
Represents a postfix expression like foo++ or bar++
Indicates that a power assertion has failed.
Indicates that annotations being marked as
@Precondition
are to be treated
as pre-condition modifying annotations.A pre-condition assertion.
Code generator for preconditions.
Internal
Lifecycle
implementation for pre-conditions.Thrown whenever a precondition violation occurs.
Container for shell preferences.
Represents a prefix expression like ++foo or --bar
Represents process expression, e.g.
This class defines new groovy methods which appear on normal JDK
classes related to process management.
A Runnable which waits for a process to complete together with a notification scheme
allowing another thread to wait a maximum number of seconds for the process to complete
before killing it.
A base class for data structures that can collect messages and errors
during processing.
This is the base class for classes responsible for creating modules
using properties.
An interface that adds the ability to intercept
property getters/setters
Represents a property access such as the expression "foo.bar".
Used to provide custom property handling when getting, setting or initializing properties.
Represents a property of a value as a model.
Represents a property (member variable, a getter and setter)
Marker annotation used to indicate that special property handling code will be generated for this class.
A property path full binding
Dynamic groovy proxy for another object.
Generates 'Proxy' objects which implement interfaces, maps of closures and/or
extend classes/delegates.
A proxy generator responsible for mapping a map of closures to a class implementing a list of interfaces.
As subclass of MetaClass, ProxyMetaClass manages calls from Groovy Objects to POJOs.
Marks the return value of "pure" method only comes from expressions involving
constants or other pure methods.
QName
class represents the value of a qualified name
as specified in XML
Schema Part2: Datatypes specification.Represents the queryable objects, e.g.
Represents an order rule
A Range represents the list of discrete items between some starting (or
from
)
value and working up towards some ending (or to
) value.Represents a range expression such as for iterating.
This transformer focuses on ranges to produce optimized bytecode.
Represents a Java source file in file to compile
An interface for things that can supply (and potentially resupply) a Reader
on a source stream.
Encapsulates non-specific i/o exceptions.
This exception is thrown if an attempt is made to set a read-only property.
Handles generation of code for the
This transformation adds an instance of ReentrantReadWriteLock to the class.
Any method annotated with
Any method annotated with
For more information see
@
WithReadLock and @
WithWriteLock annotation.This transformation adds an instance of ReentrantReadWriteLock to the class.
Any method annotated with
@
WithReadLock will obtain a read lock and release it in a finally block.Any method annotated with
@
WithWriteLock will obtain a write lock and release it in a finally block.For more information see
WithReadLock
and WithWriteLock
A Realm is the representation of a metaclass layer in a tree of realm objects.
Class annotation used to assist in the creation of record-like classes.
Handles completion of code for the @RecordType annotation.
Represents record component
Class annotation used to assist in the creation of record-like classes.
Handles generation of code for the @RecordType annotation.
Intended mode to use for records when using the
@RecordType
annotation (or record
keyword).Test if a method call is recursive if called within a given method node.
A syntax reduction, produced by the
Parser
.This class represents a reference to the most actual incarnation of a Metaclass.
Represents a reference to a value
Utility class to call methods through reflection, and falls through using the
Invoker
to call the method if it fails.This class contains utility methods to determine which class called the
current class to multiple levels of depth.
Provides as alternative to reflection using bytecode generation.
Reflector creation helper.
Used to store the last regex match.
Exposes the Groovy release information
Helper base class used for lazy updates.
Represents a method precondition.
Internal
AnnotationProcessor
implementation for pre-conditions.Represents multiple preconditions.
Visitor to resolve types and convert VariableExpression to
ClassExpressions if needed.
Base interface for customizing where resources can be found for the
GroovyScriptEngine
.This class defines new groovy methods for Files, URLs, URIs which appear
on normal JDK classes inside the Groovy environment.
This class defines a wrapper for accessing a specific column in
ResultSetMetaData
.A ResultSet out parameter.
Utility class to add return statements.
Adds explicit return statements to implicit return points in a closure.
A return statement
Translates all return statements into an invocation of the next iteration.
Represents view of reversed list
A reverse iterator over a list.
This ClassLoader should be used as root of class loaders.
Sets the RootLoader as reference.
Represents row bounds of window frame
A helper class to allow parser exceptions to be thrown anywhere in the code.
A builder for generating W3C SAX events.
This object represents a Groovy script
A static helper class to interface bytecode and runtime
This class defines new Java 6 specific groovy methods which extend the normal
JDK classes inside the Groovy environment.
Represents a reference to a variable in a script
The tool to simulate running script files via groovy command
This class defines new Java 6 specific static groovy methods which extend the normal
JDK classes inside the Groovy environment.
An adapter to make any Groovy Script class an instance of a JUnit Test
Class annotation used to assist in the creation of sealed classes.
Handles generation of code for the @Sealed annotation.
Handles sealed class permitted subclass detection.
Intended mode to use for sealed classes when using the
@Sealed
annotation (or sealed
keyword).Class annotation used to assist in the creation of sealed classes.
A hint used to instruct the type checker to pick the second parameter type.
A hint used to instruct the type checker to pick the type of the component of the second parameter type, which is therefore
expected to be an array, like in this example:
A hint used to instruct the type checker to pick the first generic type of the second parameter type.
A hint used to instruct the type checker to pick the second generic type of the second parameter type.
A hint used to instruct the type checker to pick the second generic type of the second parameter type.
This customizer allows securing source code by controlling what code constructs are permitted.
This interface allows the user to provide a custom expression checker if the dis/allowed expression lists are not
sufficient
This interface allows the user to provide a custom statement checker if the dis/allowed statement lists are not
sufficient
This factory allows the generation of a
SecureASTCustomizer
.Represents the select expression
This annotation can be added on a trait to declare the list of types that a class
implementing that trait is supposed to extend.
Some semantic predicates for altering the behaviour of the lexer and parser
Represents a sequence of zero or more objects of a given type.
Servlet-specific binding extension to lazy load the writer or the output
stream from the response.
Servlet support.
A visitor which collects the list of variable expressions which are closure shared.
Allows a short array to be used where an Iterator is expected.
Class providing various short paths for type conversions.
Represent the shutdown expression
A signature codec is responsible for encoding and decoding of inferred returned types
as stored in bytecode.
First implementation of an inferred type signature codec.
An extension module which provides extension methods using a
DefaultGroovyMethods
-like implementation, that
is to say using static methods defined in an "extension class".Stores info about GroovyDoc tags.
A base class for compilation messages.
This strategy is used with the
Builder
AST transform to modify your Groovy objects so that the
setter methods for properties return the original object, thus allowing chained usage of the setters.Processes template source files substituting variables and expressions into
placeholders in a template source text to produce the desired output.
Deprecated.
A simplified version of a
ClosureSignatureHint
which is suitable
for monomorphic closures, that is to say closures which only respond to a single signature.Class annotation to make a singleton class.
Handles generation of code for the @Singleton annotation
This local transform adds a logging ability to your program using
LogBack logging.
The document filter based on Parrot's lexer is for highlighting the content of text editor
This class defines new groovy methods for Sockets which enhance
JDK classes inside the Groovy environment.
A class annotation used to make a class Comparable by (potentially) multiple Comparators.
Injects a set of Comparators and sort methods.
A base class for customizers which only have to be applied on specific source units.
Factory for use with
CompilerCustomizationBuilder
.Looks for source file extensions in META-INF/services/org.codehaus.groovy.source.Extensions
Provides the source text for an assertion statement and translates
coordinates in the original source text to coordinates relative to the
assertion's (normalized) source text.
Indicates that the source text for an assertion statement is not available.
Provides an anchor for a single source unit (usually a script file)
as it passes through the compiler system.
Variable annotation used for getting the URI of the current script.
Handles transformation for the @SourceURI annotation.
Represents a spread expression *x in the list expression [1, *x, 2].
Helper to turn a list with an even number of elements into a Map.
Represents a spread map expression *:m
in the map expression [1, *:m, 2, "c":100]
or in the method invoke expression func(1, *:m, 2, "c":100).
A facade over Java's normal JDBC APIs providing greatly simplified
resource management and result set handling.
This class defines all the new SQL-related groovy methods which enhance
the normal JDK SQL classes when inside the Groovy environment.
Originally was grails.utils.GrailsUtils, removed some grails specific stuff.
Represents a simple key-value cache, which is thread safe and backed by a
Map
instance.This is the standard Groovy module factory.
Base class for any statement.
A
TypeChooser
which is aware of statement metadata.Tool for replacing Statement objects in an AST by other Statement instances.
Static compilation AST node metadata keys.
A MOP Writer that skips the generation of MOP methods.
Some expressions use symbols as aliases to method calls (<<, +=, ...).
This visitor is responsible for amending the AST with static compilation metadata or transform the AST so that
a class or a method can be statically compiled.
Handles the implementation of the
CompileStatic
transformation.Visitor to resolve constants and method calls from static imports.
Call site for invoking static methods
metaclass - cached
method - not cached
POJO call site
metaclass - cached
method - cached
Call site where we know there is no need to unwrap arguments
Call site where we know there is no need neither unwrap nor coerce arguments
A static method call on a class
Facilitates the generation of statically-compiled bytecode for property access.
Support methods for
StaticTypeCheckingVisitor
.A DGM-like class which adds support for method calls which are handled by
the Groovy compiler.
The main class code visitor responsible for static type checking.
A specialized version of the multi type binary expression dispatcher which is aware of static compilation.
A call site writer which replaces call site caching with static calls.
Writer responsible for generating closure classes in statically compiled mode.
Writer responsible for generating lambda classes in statically compiled mode.
This enumeration is used by the AST transformations which rely on static type
checking, either to store or to retrieve information from AST node metadata.
Generates bytecode for method reference expressions in statically-compiled code.
A class to write out the optimized statements.
Handles the implementation of the
TypeChecked
transformation.A
TypeChooser
which reads
type information from node metadata generated by the static type checker.An expression helper which generates optimized bytecode depending on the
current type on top of the operand stack.
An alternative
WriterController
which handles static types and method
dispatch.Checks for dynamic variables in static contexts.
A builder for creating JSON payloads.
The delegate used when invoking closures
Processes template source files substituting variables and expressions into
placeholders in a template source text to produce the desired output using a
closure based approach.
This class codes around a silly limitation of StringWriter which doesn't allow a StringBuffer
to be passed in as a constructor for some bizarre reason.
Copied from https://github.com/apache/commons-io/blob/master/src/main/java/org/apache/commons/io/output/StringBuilderWriter.java
Writer
implementation that outputs to a StringBuilder
.Escapes and unescapes
String
s for
Java, Java Script, HTML, XML, and SQL.This class defines new groovy methods which appear on String-related JDK
classes (String, CharSequence, Matcher) inside the Groovy environment.
A ReaderSource for source strings.
Utilities for handling strings
An IO exception occurred trying to append to a StringWriter which should never happen.
Contains all the basic resources and values used by the utility framework.
Backport of Java8 Supplier.
Convert surrogate chars to XML undefined character.
This class defines all the new Swing-related groovy methods which enhance
the normal JDK Swing classes when inside the Groovy environment.
Represents a switch (object) { case value: ...
Method annotation to make a method call synchronized for concurrency handling
with some useful baked-in conventions.
Handles generation of code for the
@Synchronized
annotation.Represents a synchronized statement
A class for error messages produced by the parser system.
Supports reporting the syntax error of GINQ
A SyntaxErrorReportable is a recognizer that can report syntax error
Base exception indicating a syntax error.
Intercepts System.out/System.err.
Represents a HTML style table layout
Represents a cell in a table layout.
Represents a row in a table layout
In a chain of data manipulators some behaviour is common.
A sorter for TableModels.
Method annotation used to transform methods with tail recursive calls into iterative methods automagically
since the JVM cannot do this itself.
Handles generation of code for the @TailRecursive annotation.
A template is a block of text with an associated binding that can be output to a writer or evaluated to a string.
Configuration options for the
markup template engine
.A template engine is a factory for creating a Template instance for a given text input.
A custom exception class to flag template execution errors
A custom exception class to flag template parsing errors
Interface for template resolvers, which, given a template identifier, return a URL where the template
can be loaded.
A generic servlet for serving (mostly HTML) templates.
A temporary implementation of MethodKey used to perform a fast lookup
for a method using a set of arguments to a method
A front-end class for
ExpressionAsVariableSlot
which
allows defining temporary variables loaded from variable slots directly at the AST level,
without any knowledge of AsmClassGenerator
.Represents a ternary expression (booleanExpression) ? expression : expression
Since a ternary statement has more than one exit point tail-recursiveness testing cannot be easily done.
Integration code for running TestNG tests in Groovy.
A simple text pane that is printable and wrapping is optional.
To use this, simply drop this as an UndoableEditListener into your document,
and then create actions to call undo/redo as needed (checking can undo/redo
first, of course).
A hint used to instruct the type checker to pick the third parameter type.
A hint used to instruct the type checker to pick the type of the component of the third parameter type, which is therefore
expected to be an array, like in this example:
A hint used to instruct the type checker to pick the first generic type of the third parameter type.
A hint used to instruct the type checker to pick the second generic type of the third parameter type.
A hint used to instruct the type checker to pick the second generic type of the third parameter type.
This MetaBeanProperty will create a pseudo property whose value is bound to an object
using weak references.
Represents a throw statement
Apply a number of methods to allow convenient Date/Time manipulation,such as:
TimeDatumDuration represents a time period which results from an
arithmetic operation between a TimeDuration object and a DatumDuration object
TimeDuration represents time periods expressed in units of hours, minutes,
seconds and milliseconds.
A
CSTNode
produced by the Lexer
.Utility methods for working with Tokens.
A builder for creating TOML payloads.
A converter for converting TOML to JSON, vice versa
Represents runtime exception occurred when parsing or building TOML
Represents a TOML parser
Thrown when too many values returned by sub-query in the
select
clauseClass annotation used to assist in the creation of
toString()
methods in classes.Handles generation of code for the @ToString annotation.
Used to mark a class as being a trait.
Handles generation of code for the traits (trait keyword is equivalent to using the @Trait annotation).
This class contains a static utility method
TraitComposer.doExtendTraits(org.codehaus.groovy.ast.ClassNode, org.codehaus.groovy.control.SourceUnit, org.codehaus.groovy.control.CompilationUnit)
aimed at generating code for a classnode implementing a trait.A collection of utility methods used to deal with traits.
Internal annotation used to indicate which methods in a trait interface have a
default implementation.
Internal annotation used to indicate that a method is a bridge method to a trait
default implementation.
An extension that handles field, super and static method calls within a trait.
A MetaMethod implementation useful for implementing coercion based invocations
AST transforms may optionally implement this interface and return a priority value.
Deprecated.
Creates a try-catch block around a given
AssertStatement
and catches
a PowerAssertionError to reuse the generated visual output.Represents a try { ...
Transform try-with-resources to try-catch-finally
Reference JLS "14.20.3.
Represents a list of Objects.
Represents a list of 0 typed Object.
Represents a list of 1 typed Object.
Represents a list of 10 typed Objects.
Represents a list of 10 typed Objects.
Represents a list of 12 typed Objects.
Represents a list of 13 typed Objects.
Represents a list of 14 typed Objects.
Represents a list of 15 typed Objects.
Represents a list of 16 typed Objects.
Represents a list of 2 typed Objects.
Represents a list of 3 typed Objects.
Represents a list of 4 typed Objects.
Represents a list of 5 typed Objects.
Represents a list of 6 typed Objects.
Represents a list of 7 typed Objects.
Represents a list of 8 typed Objects.
Represents a list of 9 typed Objects.
Class annotation used to assist in the creation of tuple constructors in classes.
Handles generation of code for the @TupleConstructor annotation.
This will let the Groovy compiler use compile time checks in the style of Java.
This annotation is added by @TypeChecked on methods which have type checking turned on.
Represents the context of an enclosing closure.
This interface defines a high-level API for handling type checking errors.
This enumeration can be used whenever it is preferred to annotate a class as
TypeChecked
in general, but where only one or more methods are "dynamic".Interface for modules which are capable of resolving the type of an expression.
This class contains helper methods for converting and comparing types.
Typing information for the CST system.
This class contains several transformers for used during method invocation.
A utility for getting information of types
Compiles Java and Groovy source files.
A helper class used to generate bytecode for unary expressions.
Allows to throw a checked exception unchecked.
Java doesn't allow you to have null as an attribute value.
A cache backed by a ConcurrentHashMap
Indicates that a method or property will contain the remaining arguments.
A ReaderSource for source files hosted at a URL.
Various utility functions for use in the compiler.
Internal utility class for in-code assertion checks.
A value recorded during evaluation of an assertion, along with the column it
is associated with in the assertion's normalized source text.
Represents value bounds of window frame
To support caches whose values are convertable, e.g.
A simple ValueModel implementation which is a holder of an object value.
This map is for object serialization mainly.
Represents a model of a value
Records values produced during evaluation of an assertion statement's truth
expression.
interface to mark a AstNode as Variable.
Replace all access to variables and args by new variables.
Represents a local variable name, the simplest form of expression.
Tool for replacing VariableExpression instances in an AST by other VariableExpression instances.
An expression transformer used in the process of replacing the access to variables
Records declared and referenced variables for a given scope.
Initializes the variable scopes for an AST.
Verifies the AST node and adds any default AST code before bytecode generation occurs.
Performs various checks on code inside methods and constructors
including checking for valid field, variables names etc.
Verify Class files.
Annotates a groovy property or a class.
Handles generation of code for the
@Vetoable
annotation, and @Bindable
if also present.
A violation tracker is used to keep a list of pre-, post-condition or class-invariant
violations in chronological order.
Indicates the visibility of a node.
Marker annotation used in the context of AST transformations to provide a custom visibility.
Interface to access VM version based actions.
Factory class to get functionality based on the VM version.
A class for warning messages.
A class that can determine the weight of a value.
A common set of
Weigher
and EntryWeigher
implementations.Represent the where expression
Represents a while (condition) { ...
This class provides helper methods to determine the type from a widening
operation for example for a plus operation.
This
ClassNode
specialization is used when the lowest upper bound
of two types cannot be represented by an existing type.Represents window which stores elements used by window functions
Represents window definition, which will define the result set to construct the window
This annotation is used in conjunction with
WithWriteLock
to support read and write synchronization on a method.This annotation is used in conjunction with
WithReadLock
to support read and write synchronization on a method.Represents an object which is capable of writing itself to a text stream
in a more efficient format than just creating a toString() representation
of itself.
A Writable File.
A Writable Path.
A non-static factory to get alternative writer controller to be stored in the metadata
This class defines all the new XML-related groovy methods which enhance
the normal JDK XML classes when inside the Groovy environment.
Prints a
groovy.util.Node
(as used with XmlParser
) including all children in XML format.A helper class for parsing XML into a tree of Node instances for a
simple way of processing XML.
Parse XML into a document tree that may be traversed similar to XPath
expressions.
Template engine for use in templating scenarios where both the template
source and the expected output are intended to be XML.
Used for pretty printing XML content and other XML related utilities.
A builder for creating YAML payloads.
A converter for converting YAML to JSON, vice versa
Represents runtime exception occurred when parsing or building YAML
Represents a YAML parser
ManagedConcurrentLinkedQueue