| java.lang.Object com.sun.java.util.jar.pack.BandStructure
All known Subclasses: com.sun.java.util.jar.pack.PackageReader, com.sun.java.util.jar.pack.PackageWriter,
BandStructure | abstract class BandStructure implements Constants(Code) | | Define the structure and ordering of "bands" in a packed file.
author: John Rose version: 1.36, 05/05/07 |
Inner Class :abstract class Band | |
Inner Class :class ValueBand extends Band | |
Inner Class :class ByteBand extends Band | |
Inner Class :class IntBand extends ValueBand | |
Inner Class :class CPRefBand extends ValueBand | |
Inner Class :class MultiBand extends Band | |
Method Summary | |
protected void | adjustSpecialAttrMasks() | static boolean | assertCanChangeLength(Band b) | static boolean | assertPhase(Band b, int phaseExpected) | static boolean | assertPhaseChangeOK(Band b, int p0, int p1) | public CodingMethod | chooseCoding(int[] values, int start, int end, Coding regular, String bandName, int[] sizes) | public static Coding | codingForIndex(int i) | protected static int | decodeEscapeValue(int X, Coding regularCoding) | Entry | decodeRef(int n, Index ix) | protected static int | encodeEscapeValue(int XB, Coding regularCoding) | int | encodeRef(Entry e, Index ix) | static IntBand | getAttrBand(MultiBand xxx_attr_bands, int which) | protected CodingMethod | getBandHeader(int XB, Coding regularCoding) | public static Coding[] | getBasicCodings() | abstract protected Index | getCPIndex(byte tag) | protected CPRefBand | getCPRefOpBand(int bc) | protected CodingChooser | getCodingChooser() | static OutputStream | getDumpStream(Band b, String ext) | static OutputStream | getDumpStream(Index ix, String ext) | static OutputStream | getDumpStream(String name, int seq, String ext, Object b) | static int | getIntTotal(int[] values) | protected int | getLabel(IntBand bc_label, Code c, int pc) | public int | getPackageMajver() | protected ArrayList | getPredefinedAttrs(int ctype) | protected boolean | haveFlagsHi(int ctype) | public static int | indexOf(Coding c) | protected void | initAttrIndexLimit() | public void | initPackageMajver(int packageMajver) Call this exactly once, early, to specify the archive major version. | protected boolean | isPredefinedAttr(int ctype, int ai) | protected Attribute | makeClassFileVersionAttr(int minver, int majver) | void | makeNewAttributeBands() | boolean | notePrevForAssert(Band b, Band p) | protected short[] | parseClassFileVersionAttr(Attribute attr) | public static int | parseMetaCoding(byte[] bytes, int pos, Coding dflt, CodingMethod[] res) | static int | phaseCmp(int p0, int p1) | static boolean | phaseIsRead(int p) | static void | printArrayTo(PrintStream ps, int[] values, int start, int end) | static void | printArrayTo(PrintStream ps, Entry[] cpMap, int start, int end) | protected void | putLabel(IntBand bc_label, Code c, int pc, int targetPC) | protected static Object[] | realloc(Object[] a, int len) | protected static Object[] | realloc(Object[] a) | protected static int[] | realloc(int[] a, int len) | protected static int[] | realloc(int[] a) | protected static byte[] | realloc(byte[] a, int len) | protected static byte[] | realloc(byte[] a) | protected CPRefBand | selfOpRefBand(int self_bc) | protected int | setAttributeLayoutIndex(Attribute.Layout def, int index) | protected void | setBandIndex(CPRefBand b, byte which) | protected void | setBandIndexes() Given CP indexes, distribute tag-specific indexes to bands. | protected static int | setBit(int flags, int bitMask, boolean z) | protected static long | setBit(long flags, long bitMask, boolean z) | protected void | setConstantValueIndex(Class.Field f) | static int | shortCodeHeader(Code code) | static int | shortCodeHeader_handler_count(int sc) | static int | shortCodeHeader_max_na_locals(int sc) | static int | shortCodeHeader_max_stack(int sc) | protected static boolean | testBit(int flags, int bitMask) | protected static boolean | testBit(long flags, long bitMask) | static int | verbose() | void | writeAllBandsTo(OutputStream out) |
AB_ATTR_CALLS | final static int AB_ATTR_CALLS(Code) | | |
AB_ATTR_COUNT | final static int AB_ATTR_COUNT(Code) | | |
AB_ATTR_INDEXES | final static int AB_ATTR_INDEXES(Code) | | |
AB_FLAGS_HI | final static int AB_FLAGS_HI(Code) | | |
AB_FLAGS_LO | final static int AB_FLAGS_LO(Code) | | |
ADH_BIT_IS_LSB | final public static int ADH_BIT_IS_LSB(Code) | | |
ADH_BIT_SHIFT | final public static int ADH_BIT_SHIFT(Code) | | |
ADH_CONTEXT_MASK | final public static int ADH_CONTEXT_MASK(Code) | | |
AH_ARCHIVE_SIZE_HI | final static int AH_ARCHIVE_SIZE_HI(Code) | | |
AH_ARCHIVE_SIZE_LO | final static int AH_ARCHIVE_SIZE_LO(Code) | | |
AH_CP_NUMBER_LEN | final static int AH_CP_NUMBER_LEN(Code) | | |
AH_FILE_HEADER_LEN | final static int AH_FILE_HEADER_LEN(Code) | | |
AH_LENGTH | final static int AH_LENGTH(Code) | | |
AH_LENGTH_0 | final static int AH_LENGTH_0(Code) | | |
AH_LENGTH_MIN | final static int AH_LENGTH_MIN(Code) | | |
AH_LENGTH_S | final static int AH_LENGTH_S(Code) | | |
AH_SPECIAL_FORMAT_LEN | final static int AH_SPECIAL_FORMAT_LEN(Code) | | |
ATTR_INDEX_OVERFLOW | final public static int ATTR_INDEX_OVERFLOW(Code) | | |
COLLECT_PHASE | final public static int COLLECT_PHASE(Code) | | |
DEFAULT_EFFORT | final static int DEFAULT_EFFORT(Code) | | |
DISBURSE_PHASE | final public static int DISBURSE_PHASE(Code) | | |
DONE_PHASE | final public static int DONE_PHASE(Code) | | |
EXPECT_PHASE | final public static int EXPECT_PHASE(Code) | | |
FROZEN_PHASE | final public static int FROZEN_PHASE(Code) | | |
LONG_CODE_HEADER | final static int LONG_CODE_HEADER(Code) | | |
MAX_EFFORT | final static int MAX_EFFORT(Code) | | |
MIN_EFFORT | final static int MIN_EFFORT(Code) | | |
NO_PHASE | final public static int NO_PHASE(Code) | | |
READ_PHASE | final public static int READ_PHASE(Code) | | |
SHORT_BAND_HEURISTIC | final static int SHORT_BAND_HEURISTIC(Code) | | |
WRITE_PHASE | final public static int WRITE_PHASE(Code) | | |
all_bands | MultiBand all_bands(Code) | | |
archiveNextCount | protected int archiveNextCount(Code) | | |
archiveOptions | protected int archiveOptions(Code) | | |
archiveSize0 | protected long archiveSize0(Code) | | |
archiveSize1 | protected long archiveSize1(Code) | | |
archive_header_0 | IntBand archive_header_0(Code) | | |
archive_header_1 | IntBand archive_header_1(Code) | | |
archive_header_S | IntBand archive_header_S(Code) | | |
archive_magic | ByteBand archive_magic(Code) | | |
attrBands | protected MultiBand[] attrBands(Code) | | |
attrClassFileVersionMask | protected int attrClassFileVersionMask(Code) | | |
attrDefSeen | protected long[] attrDefSeen(Code) | | |
attrFlagMask | protected long[] attrFlagMask(Code) | | |
attrIndexLimit | public int[] attrIndexLimit(Code) | | |
attrOverflowMask | protected int[] attrOverflowMask(Code) | | |
attr_definition_bands | MultiBand attr_definition_bands(Code) | | |
attr_definition_headers | ByteBand attr_definition_headers(Code) | | |
attr_definition_layout | CPRefBand attr_definition_layout(Code) | | |
attr_definition_name | CPRefBand attr_definition_name(Code) | | |
bandHeaderBytePos | protected int bandHeaderBytePos(Code) | | |
bandHeaderBytePos0 | protected int bandHeaderBytePos0(Code) | | |
bandHeaderBytes | protected byte[] bandHeaderBytes(Code) | | |
band_headers | ByteBand band_headers(Code) | | |
bc_bands | MultiBand bc_bands(Code) | | |
bc_byte | ByteBand bc_byte(Code) | | |
bc_case_count | IntBand bc_case_count(Code) | | |
bc_case_value | IntBand bc_case_value(Code) | | |
bc_classref | CPRefBand bc_classref(Code) | | |
bc_codes | ByteBand bc_codes(Code) | | |
bc_doubleref | CPRefBand bc_doubleref(Code) | | |
bc_escbyte | ByteBand bc_escbyte(Code) | | |
bc_escref | CPRefBand bc_escref(Code) | | |
bc_escrefsize | IntBand bc_escrefsize(Code) | | |
bc_escsize | IntBand bc_escsize(Code) | | |
bc_fieldref | CPRefBand bc_fieldref(Code) | | |
bc_floatref | CPRefBand bc_floatref(Code) | | |
bc_imethodref | CPRefBand bc_imethodref(Code) | | |
bc_initref | IntBand bc_initref(Code) | | |
bc_intref | CPRefBand bc_intref(Code) | | |
bc_label | IntBand bc_label(Code) | | |
bc_local | IntBand bc_local(Code) | | |
bc_longref | CPRefBand bc_longref(Code) | | |
bc_methodref | CPRefBand bc_methodref(Code) | | |
bc_short | IntBand bc_short(Code) | | |
bc_stringref | CPRefBand bc_stringref(Code) | | |
bc_superfield | CPRefBand bc_superfield(Code) | | |
bc_supermethod | CPRefBand bc_supermethod(Code) | | |
bc_thisfield | CPRefBand bc_thisfield(Code) | | |
bc_thismethod | CPRefBand bc_thismethod(Code) | | |
class_ClassFile_version_major_H | IntBand class_ClassFile_version_major_H(Code) | | |
class_ClassFile_version_minor_H | IntBand class_ClassFile_version_minor_H(Code) | | |
class_EnclosingMethod_RC | CPRefBand class_EnclosingMethod_RC(Code) | | |
class_EnclosingMethod_RDN | CPRefBand class_EnclosingMethod_RDN(Code) | | |
class_InnerClasses_F | IntBand class_InnerClasses_F(Code) | | |
class_InnerClasses_N | IntBand class_InnerClasses_N(Code) | | |
class_InnerClasses_RC | CPRefBand class_InnerClasses_RC(Code) | | |
class_InnerClasses_name_RUN | CPRefBand class_InnerClasses_name_RUN(Code) | | |
class_InnerClasses_outer_RCN | CPRefBand class_InnerClasses_outer_RCN(Code) | | |
class_Signature_RS | CPRefBand class_Signature_RS(Code) | | |
class_SourceFile_RUN | CPRefBand class_SourceFile_RUN(Code) | | |
class_attr_bands | MultiBand class_attr_bands(Code) | | |
class_attr_calls | IntBand class_attr_calls(Code) | | |
class_attr_count | IntBand class_attr_count(Code) | | |
class_attr_indexes | IntBand class_attr_indexes(Code) | | |
class_bands | MultiBand class_bands(Code) | | |
class_field_count | IntBand class_field_count(Code) | | |
class_flags_hi | IntBand class_flags_hi(Code) | | |
class_flags_lo | IntBand class_flags_lo(Code) | | |
class_interface | CPRefBand class_interface(Code) | | |
class_interface_count | IntBand class_interface_count(Code) | | |
class_metadata_bands | MultiBand class_metadata_bands(Code) | | |
class_method_count | IntBand class_method_count(Code) | | |
class_super | CPRefBand class_super(Code) | | |
class_this | CPRefBand class_this(Code) | | |
code_LineNumberTable_N | IntBand code_LineNumberTable_N(Code) | | |
code_LineNumberTable_bci_P | IntBand code_LineNumberTable_bci_P(Code) | | |
code_LineNumberTable_line | IntBand code_LineNumberTable_line(Code) | | |
code_LocalVariableTable_N | IntBand code_LocalVariableTable_N(Code) | | |
code_LocalVariableTable_bci_P | IntBand code_LocalVariableTable_bci_P(Code) | | |
code_LocalVariableTable_name_RU | CPRefBand code_LocalVariableTable_name_RU(Code) | | |
code_LocalVariableTable_slot | IntBand code_LocalVariableTable_slot(Code) | | |
code_LocalVariableTable_span_O | IntBand code_LocalVariableTable_span_O(Code) | | |
code_LocalVariableTable_type_RS | CPRefBand code_LocalVariableTable_type_RS(Code) | | |
code_LocalVariableTypeTable_N | IntBand code_LocalVariableTypeTable_N(Code) | | |
code_LocalVariableTypeTable_bci_P | IntBand code_LocalVariableTypeTable_bci_P(Code) | | |
code_LocalVariableTypeTable_name_RU | CPRefBand code_LocalVariableTypeTable_name_RU(Code) | | |
code_LocalVariableTypeTable_slot | IntBand code_LocalVariableTypeTable_slot(Code) | | |
code_LocalVariableTypeTable_span_O | IntBand code_LocalVariableTypeTable_span_O(Code) | | |
code_LocalVariableTypeTable_type_RS | CPRefBand code_LocalVariableTypeTable_type_RS(Code) | | |
code_StackMapTable_N | IntBand code_StackMapTable_N(Code) | | |
code_StackMapTable_P | IntBand code_StackMapTable_P(Code) | | |
code_StackMapTable_RC | CPRefBand code_StackMapTable_RC(Code) | | |
code_StackMapTable_T | IntBand code_StackMapTable_T(Code) | | |
code_StackMapTable_frame_T | IntBand code_StackMapTable_frame_T(Code) | | |
code_StackMapTable_local_N | IntBand code_StackMapTable_local_N(Code) | | |
code_StackMapTable_offset | IntBand code_StackMapTable_offset(Code) | | |
code_StackMapTable_stack_N | IntBand code_StackMapTable_stack_N(Code) | | |
code_attr_bands | MultiBand code_attr_bands(Code) | | |
code_attr_calls | IntBand code_attr_calls(Code) | | |
code_attr_count | IntBand code_attr_count(Code) | | |
code_attr_indexes | IntBand code_attr_indexes(Code) | | |
code_bands | MultiBand code_bands(Code) | | |
code_flags_hi | IntBand code_flags_hi(Code) | | |
code_flags_lo | IntBand code_flags_lo(Code) | | |
code_handler_catch_PO | IntBand code_handler_catch_PO(Code) | | |
code_handler_class_RCN | CPRefBand code_handler_class_RCN(Code) | | |
code_handler_count | IntBand code_handler_count(Code) | | |
code_handler_end_PO | IntBand code_handler_end_PO(Code) | | |
code_handler_start_P | IntBand code_handler_start_P(Code) | | |
code_headers | ByteBand code_headers(Code) | | |
code_max_na_locals | IntBand code_max_na_locals(Code) | | |
code_max_stack | IntBand code_max_stack(Code) | | |
cp_Class | CPRefBand cp_Class(Code) | | |
cp_Descr_name | CPRefBand cp_Descr_name(Code) | | |
cp_Descr_type | CPRefBand cp_Descr_type(Code) | | |
cp_Double_hi | IntBand cp_Double_hi(Code) | | |
cp_Double_lo | IntBand cp_Double_lo(Code) | | |
cp_Field_class | CPRefBand cp_Field_class(Code) | | |
cp_Field_desc | CPRefBand cp_Field_desc(Code) | | |
cp_Float | IntBand cp_Float(Code) | | |
cp_Imethod_class | CPRefBand cp_Imethod_class(Code) | | |
cp_Imethod_desc | CPRefBand cp_Imethod_desc(Code) | | |
cp_Long_hi | IntBand cp_Long_hi(Code) | | |
cp_Long_lo | IntBand cp_Long_lo(Code) | | |
cp_Method_class | CPRefBand cp_Method_class(Code) | | |
cp_Method_desc | CPRefBand cp_Method_desc(Code) | | |
cp_Signature_classes | CPRefBand cp_Signature_classes(Code) | | |
cp_Signature_form | CPRefBand cp_Signature_form(Code) | | |
cp_String | CPRefBand cp_String(Code) | | |
cp_Utf8_big_chars | MultiBand cp_Utf8_big_chars(Code) | | |
cp_Utf8_big_suffix | IntBand cp_Utf8_big_suffix(Code) | | |
cp_Utf8_chars | IntBand cp_Utf8_chars(Code) | | |
cp_Utf8_prefix | IntBand cp_Utf8_prefix(Code) | | |
cp_Utf8_suffix | IntBand cp_Utf8_suffix(Code) | | |
cp_bands | MultiBand cp_bands(Code) | | |
defaultMetaCoding | final static byte[] defaultMetaCoding(Code) | | |
field_ConstantValue_KQ | CPRefBand field_ConstantValue_KQ(Code) | | |
field_Signature_RS | CPRefBand field_Signature_RS(Code) | | |
field_attr_bands | MultiBand field_attr_bands(Code) | | |
field_attr_calls | IntBand field_attr_calls(Code) | | |
field_attr_count | IntBand field_attr_count(Code) | | |
field_attr_indexes | IntBand field_attr_indexes(Code) | | |
field_descr | CPRefBand field_descr(Code) | | |
field_flags_hi | IntBand field_flags_hi(Code) | | |
field_flags_lo | IntBand field_flags_lo(Code) | | |
field_metadata_bands | MultiBand field_metadata_bands(Code) | | |
file_bands | MultiBand file_bands(Code) | | |
file_bits | ByteBand file_bits(Code) | | |
file_modtime | IntBand file_modtime(Code) | | |
file_name | CPRefBand file_name(Code) | | |
file_options | IntBand file_options(Code) | | |
file_size_hi | IntBand file_size_hi(Code) | | |
file_size_lo | IntBand file_size_lo(Code) | | |
ic_bands | MultiBand ic_bands(Code) | | |
ic_flags | IntBand ic_flags(Code) | | |
ic_name | CPRefBand ic_name(Code) | | |
ic_outer_class | CPRefBand ic_outer_class(Code) | | |
ic_this_class | CPRefBand ic_this_class(Code) | | |
metadataBands | protected MultiBand[] metadataBands(Code) | | |
method_Exceptions_N | IntBand method_Exceptions_N(Code) | | |
method_Exceptions_RC | CPRefBand method_Exceptions_RC(Code) | | |
method_Signature_RS | CPRefBand method_Signature_RS(Code) | | |
method_attr_bands | MultiBand method_attr_bands(Code) | | |
method_attr_calls | IntBand method_attr_calls(Code) | | |
method_attr_count | IntBand method_attr_count(Code) | | |
method_attr_indexes | IntBand method_attr_indexes(Code) | | |
method_descr | CPRefBand method_descr(Code) | | |
method_flags_hi | IntBand method_flags_hi(Code) | | |
method_flags_lo | IntBand method_flags_lo(Code) | | |
method_metadata_bands | MultiBand method_metadata_bands(Code) | | |
nextSeqForDebug | static int nextSeqForDebug(Code) | | |
noMetaCoding | final static byte[] noMetaCoding(Code) | | |
optBigStrings | boolean optBigStrings(Code) | | |
optDebugBands | boolean optDebugBands(Code) | | |
optDumpBands | boolean optDumpBands(Code) | | |
optVaryCodings | boolean optVaryCodings(Code) | | |
outputCounter | ByteCounter outputCounter(Code) | | |
shortCodeHeader_h_limit | final public int shortCodeHeader_h_limit(Code) | | |
stackmap_bands | MultiBand stackmap_bands(Code) | | |
BandStructure | protected BandStructure()(Code) | | |
adjustSpecialAttrMasks | protected void adjustSpecialAttrMasks()(Code) | | |
assertCanChangeLength | static boolean assertCanChangeLength(Band b)(Code) | | |
assertPhase | static boolean assertPhase(Band b, int phaseExpected)(Code) | | |
assertPhaseChangeOK | static boolean assertPhaseChangeOK(Band b, int p0, int p1)(Code) | | |
codingForIndex | public static Coding codingForIndex(int i)(Code) | | |
decodeEscapeValue | protected static int decodeEscapeValue(int X, Coding regularCoding)(Code) | | |
decodeRef | Entry decodeRef(int n, Index ix)(Code) | | |
encodeEscapeValue | protected static int encodeEscapeValue(int XB, Coding regularCoding)(Code) | | |
encodeRef | int encodeRef(Entry e, Index ix)(Code) | | |
getAttrBand | static IntBand getAttrBand(MultiBand xxx_attr_bands, int which)(Code) | | |
getBasicCodings | public static Coding[] getBasicCodings()(Code) | | |
getCPIndex | abstract protected Index getCPIndex(byte tag)(Code) | | |
getCPRefOpBand | protected CPRefBand getCPRefOpBand(int bc)(Code) | | |
getIntTotal | static int getIntTotal(int[] values)(Code) | | |
getLabel | protected int getLabel(IntBand bc_label, Code c, int pc)(Code) | | |
getPackageMajver | public int getPackageMajver()(Code) | | |
haveFlagsHi | protected boolean haveFlagsHi(int ctype)(Code) | | |
initAttrIndexLimit | protected void initAttrIndexLimit()(Code) | | |
initPackageMajver | public void initPackageMajver(int packageMajver) throws IOException(Code) | | Call this exactly once, early, to specify the archive major version.
|
isPredefinedAttr | protected boolean isPredefinedAttr(int ctype, int ai)(Code) | | |
makeClassFileVersionAttr | protected Attribute makeClassFileVersionAttr(int minver, int majver)(Code) | | |
makeNewAttributeBands | void makeNewAttributeBands()(Code) | | |
notePrevForAssert | boolean notePrevForAssert(Band b, Band p)(Code) | | |
parseClassFileVersionAttr | protected short[] parseClassFileVersionAttr(Attribute attr)(Code) | | |
phaseCmp | static int phaseCmp(int p0, int p1)(Code) | | |
phaseIsRead | static boolean phaseIsRead(int p)(Code) | | |
printArrayTo | static void printArrayTo(PrintStream ps, int[] values, int start, int end)(Code) | | |
printArrayTo | static void printArrayTo(PrintStream ps, Entry[] cpMap, int start, int end)(Code) | | |
putLabel | protected void putLabel(IntBand bc_label, Code c, int pc, int targetPC)(Code) | | |
realloc | protected static int[] realloc(int[] a, int len)(Code) | | |
realloc | protected static int[] realloc(int[] a)(Code) | | |
realloc | protected static byte[] realloc(byte[] a, int len)(Code) | | |
realloc | protected static byte[] realloc(byte[] a)(Code) | | |
selfOpRefBand | protected CPRefBand selfOpRefBand(int self_bc)(Code) | | |
setBandIndex | protected void setBandIndex(CPRefBand b, byte which)(Code) | | |
setBandIndexes | protected void setBandIndexes()(Code) | | Given CP indexes, distribute tag-specific indexes to bands.
|
setBit | protected static int setBit(int flags, int bitMask, boolean z)(Code) | | |
setBit | protected static long setBit(long flags, long bitMask, boolean z)(Code) | | |
shortCodeHeader | static int shortCodeHeader(Code code)(Code) | | |
shortCodeHeader_handler_count | static int shortCodeHeader_handler_count(int sc)(Code) | | |
shortCodeHeader_max_na_locals | static int shortCodeHeader_max_na_locals(int sc)(Code) | | |
shortCodeHeader_max_stack | static int shortCodeHeader_max_stack(int sc)(Code) | | |
testBit | protected static boolean testBit(int flags, int bitMask)(Code) | | |
testBit | protected static boolean testBit(long flags, long bitMask)(Code) | | |
verbose | static int verbose()(Code) | | |
|
|