All Classes and Interfaces

Class
Description
 
Base class for all call sites.
 
 
 
Represents functional interface writer which contains some common methods to complete generating bytecode
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.
 
Base class for any AST node which is capable of being annotated
Utility class for working with AnnotatedNodes
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.
Represents an annotation which can be attached to interfaces, classes, methods, fields, parameters, and other places.
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
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.
Creates a string representation of an assertion and its recorded values.
 
Represents an assert statement.
Builds the AST from the parse tree generated by Antlr4.
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.
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
Represents an attribute access (accessing the field of a class) such as the expression "foo.@bar".
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 class for date and time durations.
 
Variable annotation used for changing the base script class of the current script.
Handles transformation for the @BaseScript annotation.
 
 
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.
 
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 BytecodeInstructions or ASTNodes.
Represents compile time variable metadata while compiling a method.
 
Represents a cacheable call site, which can reduce the cost of resolving methods
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class represents non-public API used by AsmClassGenerator.
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.
 
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
 
 
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
 
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.
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.
Represents the entire contents of a compilation step which consists of one or more ModuleNode instances.
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.
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
 
 
Represents a continue statement in a loop statement
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.
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 implementation of MethodKey
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.
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.
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 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.
 
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.
 
 
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.
 
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.
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.
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.
 
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.
 
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.
 
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)
A ReaderSource for source files.
Command-line compiler (aka.
 
 
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.
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.
An EvictableCache supporting a getAndPut variant with additional control over caching.
 
Allows a primitive float array to be used where an Iterable is expected.
Allows a float array to be used where an Iterator is expected.
 
 
A comparator of two float values.
An iterator providing the columns of a float[][].
FloatingPoint (Double and Float) NumberMath operations
Represents an operation that takes a float-valued operand and produces a float-valued result.
 
Stream writer which flushes after each write operation.
Formatting methods
Represents a 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.
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.
 
 
 
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.
 
 
Exception will be thrown by recursive calls in closures and caught in while loop to continue to LOOP_LABEL
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.
 
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.
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.
 
 
An annotation to hold the groovydoc for the annotated element at runtime, we call it "Runtime Groovydoc".
Represents groovydoc
Represents Groovydoc Holder
A utilities for managing groovydoc, e.g.
TODO parse groovydoc to get tag content
 
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.
 
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.
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.
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
 
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 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.
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 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 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.
 
 
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.
Provides some iterable based generators.
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
Provides some iterator based generators.
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.
 
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.
Soft reference with lazy initialization under lock
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.
The LineColumnReader is an extension to BufferedReader that keeps track of the line and column information of where the cursor is.
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().
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.
 
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
A queue that stores values wrapped in a Reference, the type of which is determined by the provided ReferenceBundle.
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.
 
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
Map utilities.
A wrapper for Map which allows a default value to be specified using a closure.
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
This 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 class 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 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.
 
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
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.
 
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.
Represents an arbitrary tree node which can be used for structured metadata or any arbitrary XML-like tree.
A helper class for creating nested trees of Node objects for handling arbitrary data
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.
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.
 
 
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.
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.
 
 
 
 
 
 
 
 
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 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.
 
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.
Represents a postfix expression like foo++ or bar++
Indicates that a power assertion has failed.
Container for shell preferences.
Represents a prefix expression like ++foo or --bar
 
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 (member variable, a getter and setter)
 
Marker annotation used to indicate that special property handling code will be generated for this class.
 
 
 
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.
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
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.
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.
A helper class to allow parser exceptions to be thrown anywhere in the code.
This object represents a Groovy script
A static helper class to interface bytecode and runtime
 
Represents a reference to a variable in a script
The tool to simulate running script files via groovy command
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.
 
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.
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.
 
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".
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.
 
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.
 
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).
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.
 
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
 
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.
Backport of Java8 Supplier.
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.
A SyntaxErrorReportable is a recognizer that can report syntax error
Base exception indicating a syntax error.
 
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 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.
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.
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.
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
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.
A value recorded during evaluation of an assertion, along with the column it is associated with in the assertion's normalized source text.
To support caches whose values are convertable, e.g.
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, 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.
Annotates a groovy property or a class.
Handles generation of code for the @Vetoable annotation, and @Bindable if also present.
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.
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.
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 non-static factory to get alternative writer controller to be stored in the metadata