Class CpBands


  • public class CpBands
    extends BandSet
    Pack200 Constant Pool Bands
    • Field Detail

      • defaultAttributeNames

        private final java.util.Set<java.lang.String> defaultAttributeNames
      • cp_Utf8

        private final java.util.Set<CPUTF8> cp_Utf8
      • cp_Int

        private final java.util.Set<CPInt> cp_Int
      • cp_Float

        private final java.util.Set<CPFloat> cp_Float
      • cp_Long

        private final java.util.Set<CPLong> cp_Long
      • cp_Double

        private final java.util.Set<CPDouble> cp_Double
      • cp_String

        private final java.util.Set<CPString> cp_String
      • cp_Class

        private final java.util.Set<CPClass> cp_Class
      • cp_Signature

        private final java.util.Set<CPSignature> cp_Signature
      • stringsToCpUtf8

        private final java.util.Map<java.lang.String,​CPUTF8> stringsToCpUtf8
      • stringsToCpNameAndType

        private final java.util.Map<java.lang.String,​CPNameAndType> stringsToCpNameAndType
      • stringsToCpClass

        private final java.util.Map<java.lang.String,​CPClass> stringsToCpClass
      • stringsToCpSignature

        private final java.util.Map<java.lang.String,​CPSignature> stringsToCpSignature
      • stringsToCpMethod

        private final java.util.Map<java.lang.String,​CPMethodOrField> stringsToCpMethod
      • stringsToCpField

        private final java.util.Map<java.lang.String,​CPMethodOrField> stringsToCpField
      • stringsToCpIMethod

        private final java.util.Map<java.lang.String,​CPMethodOrField> stringsToCpIMethod
      • objectsToCPConstant

        private final java.util.Map<java.lang.Object,​CPConstant<?>> objectsToCPConstant
      • segment

        private final Segment segment
    • Constructor Detail

      • CpBands

        public CpBands​(Segment segment,
                       int effort)
    • Method Detail

      • addCharacters

        private void addCharacters​(java.util.List<java.lang.Character> chars,
                                   char[] charArray)
      • addCPClass

        public void addCPClass​(java.lang.String className)
      • addCPUtf8

        void addCPUtf8​(java.lang.String utf8)
      • addIndices

        private void addIndices()
      • existsCpClass

        public boolean existsCpClass​(java.lang.String className)
      • finaliseBands

        public void finaliseBands()
        All input classes for the segment have now been read in, so this method is called so that this class can calculate/complete anything it could not do while classes were being read.
      • getConstant

        public CPConstant<?> getConstant​(java.lang.Object value)
      • getCPClass

        public CPClass getCPClass​(java.lang.String className)
      • getCPField

        public CPMethodOrField getCPField​(CPClass cpClass,
                                          java.lang.String name,
                                          java.lang.String desc)
      • getCPField

        public CPMethodOrField getCPField​(java.lang.String owner,
                                          java.lang.String name,
                                          java.lang.String desc)
      • getCPIMethod

        public CPMethodOrField getCPIMethod​(CPClass cpClass,
                                            java.lang.String name,
                                            java.lang.String desc)
      • getCPIMethod

        public CPMethodOrField getCPIMethod​(java.lang.String owner,
                                            java.lang.String name,
                                            java.lang.String desc)
      • getCPMethod

        public CPMethodOrField getCPMethod​(CPClass cpClass,
                                           java.lang.String name,
                                           java.lang.String desc)
      • getCPMethod

        public CPMethodOrField getCPMethod​(java.lang.String owner,
                                           java.lang.String name,
                                           java.lang.String desc)
      • getCPNameAndType

        public CPNameAndType getCPNameAndType​(java.lang.String name,
                                              java.lang.String signature)
      • getCPSignature

        public CPSignature getCPSignature​(java.lang.String signature)
      • getCPUtf8

        public CPUTF8 getCPUtf8​(java.lang.String utf8)
      • pack

        public void pack​(java.io.OutputStream out)
                  throws java.io.IOException,
                         Pack200Exception
        Description copied from class: BandSet
        Write the packed set of bands to the given output stream
        Specified by:
        pack in class BandSet
        Parameters:
        out - TODO
        Throws:
        java.io.IOException - If an I/O error occurs.
        Pack200Exception - TODO
      • removeCpUtf8

        private void removeCpUtf8​(java.lang.String string)
      • removeSignaturesFromCpUTF8

        private void removeSignaturesFromCpUTF8()
      • writeCpClass

        private void writeCpClass​(java.io.OutputStream out)
                           throws java.io.IOException,
                                  Pack200Exception
        Throws:
        java.io.IOException
        Pack200Exception
      • writeCpDescr

        private void writeCpDescr​(java.io.OutputStream out)
                           throws java.io.IOException,
                                  Pack200Exception
        Throws:
        java.io.IOException
        Pack200Exception
      • writeCpDouble

        private void writeCpDouble​(java.io.OutputStream out)
                            throws java.io.IOException,
                                   Pack200Exception
        Throws:
        java.io.IOException
        Pack200Exception
      • writeCpFloat

        private void writeCpFloat​(java.io.OutputStream out)
                           throws java.io.IOException,
                                  Pack200Exception
        Throws:
        java.io.IOException
        Pack200Exception
      • writeCpLong

        private void writeCpLong​(java.io.OutputStream out)
                          throws java.io.IOException,
                                 Pack200Exception
        Throws:
        java.io.IOException
        Pack200Exception
      • writeCpMethodOrField

        private void writeCpMethodOrField​(java.util.Set<CPMethodOrField> cp,
                                          java.io.OutputStream out,
                                          java.lang.String name)
                                   throws java.io.IOException,
                                          Pack200Exception
        Throws:
        java.io.IOException
        Pack200Exception
      • writeCpSignature

        private void writeCpSignature​(java.io.OutputStream out)
                               throws java.io.IOException,
                                      Pack200Exception
        Throws:
        java.io.IOException
        Pack200Exception
      • writeCpString

        private void writeCpString​(java.io.OutputStream out)
                            throws java.io.IOException,
                                   Pack200Exception
        Throws:
        java.io.IOException
        Pack200Exception
      • writeCpUtf8

        private void writeCpUtf8​(java.io.OutputStream out)
                          throws java.io.IOException,
                                 Pack200Exception
        Throws:
        java.io.IOException
        Pack200Exception