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 groups of annotations.
 
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.
 
Allow an array to be used where an Iterable is expected.
Allow 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 FullBindings 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.
 
Allow 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.
 
Allow 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 BytecodeInstructions or ASTNodes.
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.
 
 
 
 
Allow 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 as actual 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 instance
This 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 instance
A 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
 
This class defines new groovy methods which appear on normal JDK 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 annotation
This annotation can be used by API or DSL writers to document parameters which accept a closure.
Parameter annotation used to specify 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.
 
Script that performs method invocations and property access like Closure does.
 
Use this exception to mark a method implementation as being deprecated.
Provide friendly error messages when parsing errors occurred.
 
Visits the given ClassNode and injects the current Contract into the given AST nodes.
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
 
Allow a double array to be used where an Iterable is expected.
Allow a double array to be used where an Iterator is expected.
 
 
 
 
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.
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
Represents a base class for expressions which evaluate as an object
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.
 
Allow a float array to be used where an Iterator is expected.
 
 
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.
Custom AST transformation that removes closure annotations of Invariant, Requires and Ensures and adds Java assertions executing the closure-code.
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 generic 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.
 
A Collections utility class
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.
Deprecated.
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
 
Annotation to indicate 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 declaration
 
 
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.
 
 
 
Allow an int array to be used where an Iterable is expected.
Allow an int array to be used where an Iterator is expected.
 
 
 
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.
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.
 
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.
 
Additional Java 16 based functions will be added here as needed.
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.
 
Allow a long array to be used where an Iterable is expected.
Allow a long array to be used where an Iterator is expected.
 
 
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 ClassNode
Macro 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 instead
This is a helper class introduced in Groovy 2.1.0, 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.
Represents a Method on a Java object a little like Method except without using reflection to invoke the method
 
 
 
 
 
Call 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.
Deprecated.
 
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 (trait keyword).
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.
Strategy for setting a child node on its parent.
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.
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.
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.
Deprecated.
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.
 
 
 
 
 
 
 
 
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.
 
 
 
 
 
 
 
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.
 
 
 
 
 
 
 
Central place where code generation for the old closure variable takes place.
Represents on expression
 
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.
Holds all context-specific information which is needed during the transformation phase of a single Contract and its related ClassNode.
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.
Queryable.Order<T,U extends Comparable<? super U>>
Represents an order rule
Range<T extends Comparable>
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 @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.
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.
 
Allow 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 specifically 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 Strings 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.
Special class loader, which when running on Sun VM allows to generate accessor classes for any method
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 clause
Class 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.
ValueBound<U extends Comparable<? super U>>
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
WindowDefinition<T,U extends Comparable<? super U>>
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