Class BytecodeClass


  • public final class BytecodeClass
    extends Object
    Bytecode representation of a Java class.

    This class represents a Java class in bytecode form, containing methods, fields, annotations, attributes, and class properties. It provides functionality for building bytecode classes programmatically and converting them to various formats.

    Since:
    0.1.0
    • Constructor Detail

      • BytecodeClass

        public BytecodeClass()
        Default constructor. Creates a simple class with default settings.
      • BytecodeClass

        public BytecodeClass​(String name)
        Constructor.
        Parameters:
        name - The class name
      • BytecodeClass

        public BytecodeClass​(String name,
                             int access)
        Constructor.
        Parameters:
        name - The class name
        access - The access modifiers
      • BytecodeClass

        public BytecodeClass​(String name,
                             BytecodeClassProperties properties)
        Constructor.
        Parameters:
        name - The class name
        properties - The class properties
      • BytecodeClass

        public BytecodeClass​(String name,
                             List<BytecodeMethod> methods,
                             BytecodeClassProperties properties)
        Constructor.
        Parameters:
        name - The class name
        methods - The class methods
        properties - The class properties
        Suppressed Checkstyle violations:
        ParameterNumberCheck (5 lines)
    • Method Detail

      • name

        public ClassName name()
        Class name.
        Returns:
        Name.
      • withConstructor

        public BytecodeMethodBuilder withConstructor​(int... modifiers)
        Add constructor to the class.
        Parameters:
        modifiers - The constructor access modifiers
        Returns:
        The method builder for chaining
      • withConstructor

        public BytecodeMethodBuilder withConstructor​(String descriptor,
                                                     int... modifiers)
        Add constructor.
        Parameters:
        descriptor - Constructor descriptor.
        modifiers - Constructor modifiers.
        Returns:
        This object.
      • withField

        public BytecodeClass withField​(String fname)
        Add field.
        Parameters:
        fname - Field name.
        Returns:
        This object.
      • withMethod

        public BytecodeMethodBuilder withMethod​(String mname,
                                                String descriptor,
                                                int... modifiers)
        Add method.
        Parameters:
        mname - Method name.
        descriptor - Method descriptor.
        modifiers - Access modifiers.
        Returns:
        This object.
      • helloWorldMethod

        public BytecodeClass helloWorldMethod()
        Hello world bytecode.
        Returns:
        The same class with the hello world method.
      • methods

        public List<BytecodeMethod> methods()
        Retrieve class methods.
        Returns:
        Class methods.
      • withoutMethods

        public BytecodeClass withoutMethods()
        Without methods.
        Returns:
        The same class without methods.
      • directives

        public DirectivesClass directives()
        Convert to directives.
        Returns:
        Directives.