Class MemberData<T extends Environment<? extends ToolLogger>>

java.lang.Object
org.openjdk.asmtools.jasm.MemberData<T>
Direct Known Subclasses:
ClassData, FieldData, MethodData, RecordData.ComponentData

public abstract class MemberData<T extends Environment<? extends ToolLogger>> extends Object
The common base structure for field_info, method_info, and component_info
  • Field Details

  • Constructor Details

    • MemberData

      public MemberData(ConstantPool pool, T environment)
    • MemberData

      public MemberData(ConstantPool pool, T environment, int access)
  • Method Details

    • checkExistence

      protected <M extends MemberData<?>> boolean checkExistence(EAttribute attribute)
      Checks for the existence of an attribute belonging to the MemberData.
      Parameters:
      attribute - the attribute to check for existence
      Returns:
      true if the attribute exists
    • checkExistence

      protected <M extends MemberData<?>> M checkExistence(EAttribute attribute, Runnable action)
      Checks for the existence of an attribute belonging to the MemberData.
      Type Parameters:
      M - the type of the attribute owner
      Parameters:
      attribute - the attribute to check for existence
      action - the action to take if the attribute exists
      Returns:
      the instance of the attribute owner
    • andThenCheck

      protected <M extends MemberData<?>> M andThenCheck(EAttribute attribute, Runnable action)
    • createPseudoMod

      public void createPseudoMod()
    • getEnvironment

      public T getEnvironment()
    • getPool

      public ConstantPool getPool()
    • setSignatureAttr

      public void setSignatureAttr(ConstCell value_cpx)
    • setSignatureAttr

      public void setSignatureAttr(ConstCell value_cpx, long position)
    • getAttrVector

      protected abstract <D extends DataWriter> DataVector<D> getAttrVector()
    • getDataVector

      @SafeVarargs protected final <D extends DataWriter> DataVector<D> getDataVector(D... extraAttrs)
    • addAnnotations

      public void addAnnotations(ArrayList<AnnotationData> list)