Interface TypeInitializer

All Superinterfaces:
ByteCodeAppender
All Known Implementing Classes:
TypeInitializer.None, TypeInitializer.Simple

public interface TypeInitializer extends ByteCodeAppender
A type initializer is responsible for defining a type's static initialization block.
  • Method Details

    • isDefined

      boolean isDefined()
      Indicates if this type initializer is defined.
      Returns:
      true if this type initializer is defined.
    • expandWith

      TypeInitializer expandWith(ByteCodeAppender byteCodeAppender)
      Expands this type initializer with another byte code appender. For this to be possible, this type initializer must be defined.
      Parameters:
      byteCodeAppender - The byte code appender to apply as the type initializer.
      Returns:
      A defined type initializer.
    • wrap

      Creates a method pool record that applies this type initializer while preserving the record that was supplied.
      Parameters:
      record - The record to wrap.
      Returns:
      A new record that represents the supplied record while also executing this type initializer.