Class MetadataReader

java.lang.Object
com.strobel.assembler.ir.MetadataReader
Direct Known Subclasses:
ClassFileReader

public abstract class MetadataReader extends Object
  • Constructor Details

    • MetadataReader

      protected MetadataReader()
  • Method Details

    • getScope

      protected abstract IMetadataScope getScope()
    • getParser

      protected abstract MetadataParser getParser()
    • readAttributes

      public void readAttributes(Buffer input, SourceAttribute[] attributes)
    • readAttribute

      public SourceAttribute readAttribute(Buffer buffer)
    • readAttributeCore

      protected SourceAttribute readAttributeCore(String name, Buffer buffer, int originalOffset, int length)
      Reads a SourceAttribute from the specified buffer.
      Parameters:
      name - The name of the attribute to decode.
      buffer - A buffer containing the attribute blob.
      originalOffset - The offset of position 0 in the buffer relative to the start of the original class file. This is needed during lazy inflation of CodeAttribute (and possibly others). In the case of CodeAttribute, it is helpful to know exactly where each method's body begins so we can load it on demand at some point in the future.
      length - The length of the attribute. Implementations should not rely on buffer.size().
    • inflateAttributes

      protected void inflateAttributes(SourceAttribute[] attributes)
    • inflateAttribute

      protected final SourceAttribute inflateAttribute(SourceAttribute attribute)
    • inflateAttribute

      protected final SourceAttribute inflateAttribute(Buffer buffer, SourceAttribute attribute)
    • inflateAttributes

      protected void inflateAttributes(List<SourceAttribute> attributes)