Class ClassStub

java.lang.Object
org.codehaus.groovy.ast.decompiled.ClassStub

public class ClassStub extends Object
Data container holding bytecode-extracted class metadata for efficient decompilation.

This class serves as an intermediary representation of class information extracted from compiled bytecode by AsmDecompiler. It holds raw class attributes (access modifiers, class names, signatures) and collections of method and field stubs that can be lazily reconstructed into full AST nodes by DecompiledClassNode.

ClassStub instances are not AST nodes themselves; they are data containers that facilitate lazy loading of class members. The actual ClassNode representation is created by DecompiledClassNode, which uses this stub to populate fields and methods on demand via LazyFieldNode, LazyMethodNode, and LazyConstructorNode.

Thread Safety: ClassStub instances are typically constructed once and then treated as immutable. They are safe for concurrent read access after initialization.

See Also:
  • Constructor Details

    • ClassStub

      public ClassStub(String className, int accessModifiers, String signature, String superName, String[] interfaceNames)
      Creates a ClassStub from bytecode class metadata.
      Parameters:
      className - the fully qualified class name (dot notation)
      accessModifiers - JVM access modifiers (ASM Opcodes flags)
      signature - generic type signature or null
      superName - internal superclass name (JVMS format) or null
      interfaceNames - internal interface names (JVMS format) or empty array
  • Method Details

    • getAnnotations

      public List<org.codehaus.groovy.ast.decompiled.AnnotationStub> getAnnotations()