Class Segment


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

      • Segment

        public Segment()
    • Method Detail

      • addValueAndTag

        private void addValueAndTag​(java.lang.Object value,
                                    java.util.List<java.lang.String> tags,
                                    java.util.List<java.lang.Object> values)
      • getClassBands

        public ClassBands getClassBands()
      • getCpBands

        public CpBands getCpBands()
      • getIcBands

        public IcBands getIcBands()
      • lastConstantHadWideIndex

        public boolean lastConstantHadWideIndex()
      • pack

        public void pack​(Archive.SegmentUnit segmentUnit,
                         java.io.OutputStream out,
                         PackingOptions options)
                  throws java.io.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:
        java.io.IOException - If an I/O error occurs.
        Pack200Exception - TODO
      • passCurrentClass

        private void passCurrentClass()
      • visit

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

        public org.objectweb.asm.AnnotationVisitor visitAnnotation​(java.lang.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,
                                                         java.lang.String name,
                                                         java.lang.String desc,
                                                         java.lang.String signature,
                                                         java.lang.Object value)
        Overrides:
        visitField in class org.objectweb.asm.ClassVisitor
      • visitInnerClass

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

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

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

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