# Package org.codehaus.groovy.runtime

package org.codehaus.groovy.runtime

Runtime classes for Groovy - whether the dynamic interpreter is being used, the compiler or the bytecode generator.

- Related Packages
  Package
  Description
  org.codehaus.groovy
  Groovy Language for the JVM
  org.codehaus.groovy.runtime.callsite
  Classic (non-`invokedynamic`) call-site caching.
  org.codehaus.groovy.runtime.dgmimpl
  Dynamic Groovy Methods (DGM) implementation.
  org.codehaus.groovy.runtime.m12n
  Module-to-name (m12n) mapping for extension modules.
  org.codehaus.groovy.runtime.memoize
  Method result memoization framework.
  org.codehaus.groovy.runtime.metaclass
  Internal classes related to Groovy's metaclass implementation.
  org.codehaus.groovy.runtime.powerassert
  Power Assert implementation for Groovy assertions.
  org.codehaus.groovy.runtime.typehandling
  Classes used to execute special actions based on the type.
  org.codehaus.groovy.runtime.wrappers
  Wrapper types used by the Groovy runtime to associate values with a constrained type while preserving Groovy dispatch semantics.
- Class
  Description
  AbstractComparator<T>
  Base class for Groovy comparators.
  ArrayGroovyMethods
  Defines new groovy methods which appear on arrays inside the Groovy environment.
  ArrayTypeUtils
  Utilities for handling array types
  ArrayUtil
  This is a generated class used internally during the writing of bytecode within the CallSiteWriter logic.
  BooleanClosureForMapPredicate<K,V>
  Adapts a `Closure` to a `Predicate` over `Map.Entry` values.
  BooleanClosurePredicate<T>
  Adapts a `Closure` to a `Predicate`, converting the closure's return value to a boolean using Groovy truth semantics.
  BooleanClosureWrapper
  Helper class for internal use only.
  BytecodeInterface8
  This class contains methods special to optimizations used directly from bytecode in Groovy 1.8
  ComposedClosure<V>
  A wrapper for Closure to support composition.
  ConversionHandler
  This class is a general adapter to map a call to a Java interface to a given delegate.
  ConvertedClosure
  This class is a general adapter to adapt a closure to any Java interface.
  ConvertedMap
  This class is a general adapter to adapt a map of closures to any Java interface.
  CurriedClosure<V>
  A wrapper for Closure to support currying.
  DefaultCachedMethodKey
  A default implementation of MethodKey
  DefaultGroovyMethods
  Defines new groovy methods which appear on classes inside the Groovy environment.
  DefaultGroovyMethodsSupport
  Support methods for DefaultGroovyMethods and PluginDefaultMethods.
  DefaultGroovyStaticMethods
  This class defines all the new static groovy methods which appear on normal JDK classes inside the Groovy environment.
  DefaultMethodKey
  A default implementation of MethodKey
  EncodingGroovyMethods
  This class defines all the encoding/decoding groovy methods which enhance the normal JDK classes when inside the Groovy environment.
  EncodingGroovyMethodsSupport
  Keep this constant in a separate file as it is troublesome for Antlr to parse for doc purposes.
  FlushingStreamWriter
  Stream writer which flushes after each write operation.
  FormatHelper
  Formatting methods
  GeneratedClosure
  Marker interface to identify closures generated by the groovy compiler.
  GeneratedDispatcher
  A per-class table of compiler-generated dispatch targets, reached by a compact integer id instead of a `MethodHandle`.
  GeneratedDispatcher.Arity1
  Array-free companion for targets taking exactly one value beyond the receiver.
  GeneratedDispatcher.Arity2
  Array-free companion for targets taking exactly two values beyond the receiver.
  GeneratedDispatcher.Bundle
  The hosting class's three dispatch shapes, linked once by `GeneratedDispatcher.bootstrap(java.lang.invoke.MethodHandles.Lookup, java.lang.String, java.lang.invoke.MethodType)` and shared by all of that class's adapters.
  GeneratedLambda
  Marker interface to identify lambda generated by the groovy compiler.
  GroovyCategorySupport
  Support methods for Groovy category usage
  GroovyCategorySupport.CategoryMethod
  GroovyCategorySupport.CategoryMethodList
  GroovyCategorySupport.ThreadCategoryInfo
  GStringImpl
  Default implementation of a GString used by the compiler.
  GStringUtil
  This class is primarily intended for INTERNAL USE.
  HandleMetaClass
  IntersectionCastSupport
  Runtime support for intersection-type cast and `as` coercion (GROOVY-11998).
  InvokerHelper
  A static helper class to make bytecode generation easier and act as a facade over the Invoker
  InvokerInvocationException
  Exception thrown when a method invocation targets and throws an exception.
  IOGroovyMethods
  This class defines new groovy methods for Readers, Writers, InputStreams and OutputStreams which appear on normal JDK classes inside the Groovy environment.
  IteratorClosureAdapter<T>
  A closure which stores calls in a List so that method calls can be iterated over in a 'yield' style way
  MetaClassHelper
  MethodClosure
  Represents a method on an object using a closure, which can be invoked at any time.
  MethodKey
  An abstract base class for a key used for comparators and Map keys to look up a method by name and parameter types
  MethodRankHelper
  Utility class for MissingMethodException, MissingPropertyException, etc.
  MultipleAssignmentSupport
  Runtime helpers used by the GEP-20 multi-assignment destructuring bytecode.
  NullObject
  A singleton representing the Groovy `null` object, providing null-safe method dispatch and special handling for operations on null values.
  NumberAwareComparator<T>
  Compares two objects using Groovy's friendly comparison algorithm, i.e.
  PackedClosure
  The shared `Closure` adapter family for `@PackedClosures` compact closure compilation.
  PackedClosure.Fixed0
  Fixed-arity members of the adapter family: the compiler instantiates the member matching the literal's declared parameter count (`PackedClosure.FixedN` serves higher arities), so a packed closure's arity is visible to class-level introspection exactly as on a generated closure class — notably `MetaClassHelper`'s SAM-overload disambiguation, which reflects the argument class's declared `doCall` and cannot consult the instance.
  PackedClosure.Fixed1
  PackedClosure.Fixed2
  PackedClosure.Fixed3
  PackedClosure.Fixed4
  PackedClosure.FixedIt
  The implicit-parameter literal (`{ it * 2 }`): a generated closure class declares both `doCall()` and `doCall(Object)` for it, which class-level introspection reads as the fuzzy "0 or 1" arity that lets the closure match both zero- and one-parameter SAM overloads (GROOVY-10905) — so this member declares the same pair.
  PackedClosure.FixedN
  Arities above four (rare) and vararg-shaped literals (trailing array parameter, e.g.
  ParallelCollectionExtensions
  DGM-like extension methods that add parallel collection operations to `Collection`.
  ProcessGroovyMethods
  This class defines new groovy methods which appear on normal JDK classes related to process management.
  ProcessGroovyMethods.ProcessRunner
  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.
  ProcessResult
  Captures the result of executing an external process, including the standard output, standard error, and exit code.
  ProxyGeneratorAdapter
  A proxy generator responsible for mapping a map of closures to a class implementing a list of interfaces.
  RangeInfo
  Holds information about a range, including its boundaries and direction.
  ReflectionMethodInvoker
  Utility class to call methods through reflection, and falls through using the `Invoker` to call the method if it fails.
  Reflector
  Provides as alternative to reflection using bytecode generation.
  RegexSupport
  Used to store the last regex match.
  ResourceGroovyMethods
  This class defines new groovy methods for Files, URLs, URIs which appear on normal JDK classes inside the Groovy environment.
  ReverseListIterator<T>
  A reverse iterator over a list.
  ScriptBytecodeAdapter
  A static helper class to interface bytecode and runtime
  ScriptReference
  Represents a reference to a variable in a script
  SocketGroovyMethods
  This class defines new groovy methods for Sockets which enhance JDK classes inside the Groovy environment.
  StackTraceUtils
  Originally was grails.utils.GrailsUtils, removed some grails specific stuff.
  StreamGroovyMethods
  StringBufferWriter
  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.
  StringGroovyMethods
  This class defines new groovy methods which appear on String-related JDK classes (String, CharSequence, Matcher) inside the Groovy environment.
  WritableFile
  A file wrapper implementing the `Writable` interface to support writing file contents.