Interface AuxiliaryType

All Known Implementing Classes:
FieldProxy.Binder.AccessorProxy, MethodCallProxy, Morph.Binder.RedirectionProxy, Pipe.Binder.RedirectionProxy, PrivilegedMemberLookupAction, TrivialType, TypeProxy

public interface AuxiliaryType
An auxiliary type that provides services to the instrumentation of another type. Implementations should provide meaningful equals(Object) and hashCode() implementations in order to avoid multiple creations of this type.
  • Field Details

    • DEFAULT_TYPE_MODIFIER

      static final ModifierContributor.ForType[] DEFAULT_TYPE_MODIFIER
      The default type access of an auxiliary type. This array must not be mutated.
  • Method Details

    • make

      DynamicType make(String auxiliaryTypeName, ClassFileVersion classFileVersion, MethodAccessorFactory methodAccessorFactory)
      Creates a new auxiliary type.
      Parameters:
      auxiliaryTypeName - The fully qualified binary name for this auxiliary type. The type should be in the same package than the instrumented type this auxiliary type is providing services to in order to allow package-private access.
      classFileVersion - The class file version the auxiliary class should be written in.
      methodAccessorFactory - A factory for accessor methods.
      Returns:
      A dynamically created type representing this auxiliary type.
    • getSuffix

      String getSuffix()
      Produces a suffix that gives this auxiliary type a stable name. A best effort is made that this suffix is unique.
      Returns:
      The suffix for this auxiliary type.