java.lang.Object
org.objectweb.asm.ClassVisitor
kala.compress.harmony.pack200.Segment

public class Segment extends org.objectweb.asm.ClassVisitor
A Pack200 archive consists of one or more Segments.
  • Field Details

  • Constructor Details

    • Segment

      public Segment()
  • Method Details

    • addValueAndTag

      private void addValueAndTag(Object value, List<String> tags, List<Object> values)
    • getAttrBands

      public AttributeDefinitionBands getAttrBands()
    • getClassBands

      public ClassBands getClassBands()
    • getCpBands

      public CpBands getCpBands()
    • getCurrentClassReader

      public Pack200ClassReader getCurrentClassReader()
    • getIcBands

      public IcBands getIcBands()
    • getSegmentHeader

      public SegmentHeader getSegmentHeader()
    • lastConstantHadWideIndex

      public boolean lastConstantHadWideIndex()
    • pack

      public void pack(Archive.SegmentUnit segmentUnit, OutputStream out, PackingOptions options) throws IOException, Pack200Exception
      The main method on Segment. Reads in all the class files, packs them and then writes the packed segment out to the given OutputStream.
      Parameters:
      segmentUnit - TODO
      out - the OutputStream to write the packed Segment to
      options - packing options
      Throws:
      IOException - If an I/O error occurs.
      Pack200Exception - TODO
    • passCurrentClass

      private void passCurrentClass()
    • processClasses

      private void processClasses(Archive.SegmentUnit segmentUnit, org.objectweb.asm.Attribute[] attributes) throws Pack200Exception
      Throws:
      Pack200Exception
    • visit

      public void visit(int version, int access, String name, String signature, String superName, String[] interfaces)
      Overrides:
      visit in class org.objectweb.asm.ClassVisitor
    • visitAnnotation

      public org.objectweb.asm.AnnotationVisitor visitAnnotation(String desc, boolean visible)
      Overrides:
      visitAnnotation in class org.objectweb.asm.ClassVisitor
    • visitAttribute

      public void visitAttribute(org.objectweb.asm.Attribute attribute)
      Overrides:
      visitAttribute in class org.objectweb.asm.ClassVisitor
    • visitEnd

      public void visitEnd()
      Overrides:
      visitEnd in class org.objectweb.asm.ClassVisitor
    • visitField

      public org.objectweb.asm.FieldVisitor visitField(int flags, String name, String desc, String signature, Object value)
      Overrides:
      visitField in class org.objectweb.asm.ClassVisitor
    • visitInnerClass

      public void visitInnerClass(String name, String outerName, String innerName, int flags)
      Overrides:
      visitInnerClass in class org.objectweb.asm.ClassVisitor
    • visitMethod

      public org.objectweb.asm.MethodVisitor visitMethod(int flags, String name, String desc, String signature, String[] exceptions)
      Overrides:
      visitMethod in class org.objectweb.asm.ClassVisitor
    • visitOuterClass

      public void visitOuterClass(String owner, String name, String desc)
      Overrides:
      visitOuterClass in class org.objectweb.asm.ClassVisitor
    • visitSource

      public void visitSource(String source, String debug)
      Overrides:
      visitSource in class org.objectweb.asm.ClassVisitor