This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git
The following commit(s) were added to refs/heads/master by this push:
new 4fe70203d Javadoc
4fe70203d is described below
commit 4fe70203dc8205b5b30bd7b0b9f08b53dc186d87
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Dec 22 07:51:42 2025 -0500
Javadoc
---
.../harmony/internal/AttributeLayoutParser.java | 6 ++
.../harmony/pack200/AttributeDefinitionBands.java | 53 ++++++++++
.../commons/compress/harmony/pack200/BandSet.java | 14 +++
.../commons/compress/harmony/pack200/BcBands.java | 92 +++++++++++++++++
.../compress/harmony/pack200/ClassBands.java | 115 +++++++++++++++++++++
.../harmony/unpack200/AttributeLayoutMap.java | 36 +++++++
.../compress/harmony/unpack200/BcBands.java | 105 +++++++++++++++++++
.../compress/harmony/unpack200/IMatcher.java | 6 ++
8 files changed, 427 insertions(+)
diff --git
a/src/main/java/org/apache/commons/compress/harmony/internal/AttributeLayoutParser.java
b/src/main/java/org/apache/commons/compress/harmony/internal/AttributeLayoutParser.java
index e64773331..bab8c65a8 100644
---
a/src/main/java/org/apache/commons/compress/harmony/internal/AttributeLayoutParser.java
+++
b/src/main/java/org/apache/commons/compress/harmony/internal/AttributeLayoutParser.java
@@ -125,6 +125,12 @@ private UnionCaseData(final List<IntegerRange> tagRanges,
final List<T> body) {
private int p;
private int depth;
+ /**
+ * Constructs a new instance.
+ *
+ * @param definition the attribute layout definition.
+ * @param factory the factory for creating layout elements.
+ */
public AttributeLayoutParser(final CharSequence definition, final
Factory<T> factory) {
this.definition = definition;
this.factory = factory;
diff --git
a/src/main/java/org/apache/commons/compress/harmony/pack200/AttributeDefinitionBands.java
b/src/main/java/org/apache/commons/compress/harmony/pack200/AttributeDefinitionBands.java
index 90ce4968c..50e5d8189 100644
---
a/src/main/java/org/apache/commons/compress/harmony/pack200/AttributeDefinitionBands.java
+++
b/src/main/java/org/apache/commons/compress/harmony/pack200/AttributeDefinitionBands.java
@@ -35,13 +35,39 @@
*/
public class AttributeDefinitionBands extends BandSet {
+ /**
+ * An attribute definition with context type, name, and layout information.
+ */
public static class AttributeDefinition {
+ /**
+ * The index of this attribute definition.
+ */
public int index;
+
+ /**
+ * The context type for this attribute definition.
+ */
public int contextType;
+
+ /**
+ * The name of this attribute.
+ */
public CPUTF8 name;
+
+ /**
+ * The layout of this attribute.
+ */
public CPUTF8 layout;
+ /**
+ * Constructs a new AttributeDefinition.
+ *
+ * @param index the index of the attribute.
+ * @param contextType the context type.
+ * @param name the attribute name.
+ * @param layout the attribute layout.
+ */
public AttributeDefinition(final int index, final int contextType,
final CPUTF8 name, final CPUTF8 layout) {
this.index = index;
this.contextType = contextType;
@@ -82,6 +108,13 @@ public AttributeDefinition(final int index, final int
contextType, final CPUTF8
private final Segment segment;
+ /**
+ * Constructs a new instance.
+ *
+ * @param segment the segment.
+ * @param effort the effort level.
+ * @param attributePrototypes the attribute prototypes.
+ */
public AttributeDefinitionBands(final Segment segment, final int effort,
final Attribute[] attributePrototypes) {
super(effort, segment.getSegmentHeader());
this.cpBands = segment.getCpBands();
@@ -203,18 +236,38 @@ public void finaliseBands() {
segmentHeader.setAttribute_definition_count(attributeDefinitions.size());
}
+ /**
+ * Gets the class attribute layouts.
+ *
+ * @return the class attribute layouts.
+ */
public List<AttributeDefinition> getClassAttributeLayouts() {
return classAttributeLayouts;
}
+ /**
+ * Gets the code attribute layouts.
+ *
+ * @return the code attribute layouts.
+ */
public List<AttributeDefinition> getCodeAttributeLayouts() {
return codeAttributeLayouts;
}
+ /**
+ * Gets the field attribute layouts.
+ *
+ * @return the field attribute layouts.
+ */
public List<AttributeDefinition> getFieldAttributeLayouts() {
return fieldAttributeLayouts;
}
+ /**
+ * Gets the method attribute layouts.
+ *
+ * @return the method attribute layouts.
+ */
public List<AttributeDefinition> getMethodAttributeLayouts() {
return methodAttributeLayouts;
}
diff --git
a/src/main/java/org/apache/commons/compress/harmony/pack200/BandSet.java
b/src/main/java/org/apache/commons/compress/harmony/pack200/BandSet.java
index 8db35da9f..7666ea8be 100644
--- a/src/main/java/org/apache/commons/compress/harmony/pack200/BandSet.java
+++ b/src/main/java/org/apache/commons/compress/harmony/pack200/BandSet.java
@@ -195,6 +195,9 @@ public boolean wellCorrelated() {
// Note: these values have been tuned - please test carefully if changing
them
private static final int[] effortThresholds = { 0, 0, 1000, 500, 100, 100,
100, 100, 100, 0 };
+ /**
+ * The segment header for this band set.
+ */
protected final SegmentHeader segmentHeader;
final int effort;
@@ -486,6 +489,17 @@ protected byte[] encodeFlags(final String name, final
long[] flags, final BHSDCo
// }
// }
+ /**
+ * Encodes flags using the given codecs.
+ *
+ * @param name the name of the band.
+ * @param flags the flags to encode.
+ * @param loCodec the low codec.
+ * @param hiCodec the high codec.
+ * @param haveHiFlags whether high flags are present.
+ * @return the encoded flags.
+ * @throws Pack200Exception if an error occurs.
+ */
protected byte[] encodeFlags(final String name, final long[][] flags,
final BHSDCodec loCodec, final BHSDCodec hiCodec, final boolean haveHiFlags)
throws Pack200Exception {
return encodeFlags(name, flatten(flags), loCodec, hiCodec,
haveHiFlags);
diff --git
a/src/main/java/org/apache/commons/compress/harmony/pack200/BcBands.java
b/src/main/java/org/apache/commons/compress/harmony/pack200/BcBands.java
index 718aafc7c..3d89a9803 100644
--- a/src/main/java/org/apache/commons/compress/harmony/pack200/BcBands.java
+++ b/src/main/java/org/apache/commons/compress/harmony/pack200/BcBands.java
@@ -85,6 +85,13 @@ public class BcBands extends BandSet {
private int renumberedOffset;
private final IntList bcLabelRelativeOffsets = new IntList();
+ /**
+ * Constructs a new instance.
+ *
+ * @param cpBands the constant pool bands
+ * @param segment the segment
+ * @param effort the packing effort
+ */
public BcBands(final CpBands cpBands, final Segment segment, final int
effort) {
super(effort, segment.getSegmentHeader());
this.cpBands = cpBands;
@@ -222,6 +229,9 @@ private void updateRenumbering() {
bciRenumbering.add(renumberedOffset);
}
+ /**
+ * Visits the end of a method's bytecode.
+ */
public void visitEnd() {
for (int i = 0; i < bciRenumbering.size(); i++) {
if (bciRenumbering.get(i) == -1) {
@@ -254,6 +264,14 @@ public void visitEnd() {
}
}
+ /**
+ * Visits a field instruction.
+ *
+ * @param opcode the opcode.
+ * @param owner the field owner class.
+ * @param name the field name.
+ * @param desc the field descriptor.
+ */
public void visitFieldInsn(int opcode, final String owner, final String
name, final String desc) {
byteCodeOffset += 3;
updateRenumbering();
@@ -285,6 +303,12 @@ public void visitFieldInsn(int opcode, final String owner,
final String name, fi
bcCodes.add(opcode);
}
+ /**
+ * Visits an IINC instruction.
+ *
+ * @param var the local variable index.
+ * @param increment the increment amount.
+ */
public void visitIincInsn(final int var, final int increment) {
if (var > 255 || increment > 255) {
byteCodeOffset += 6;
@@ -301,6 +325,11 @@ public void visitIincInsn(final int var, final int
increment) {
updateRenumbering();
}
+ /**
+ * Visits a simple instruction (no operands).
+ *
+ * @param opcode the opcode.
+ */
public void visitInsn(final int opcode) {
if (opcode >= 202) {
throw new IllegalArgumentException("Non-standard bytecode
instructions not supported");
@@ -310,6 +339,12 @@ public void visitInsn(final int opcode) {
updateRenumbering();
}
+ /**
+ * Visits an instruction with a single int operand.
+ *
+ * @param opcode the opcode.
+ * @param operand the operand.
+ */
public void visitIntInsn(final int opcode, final int operand) {
switch (opcode) {
case 17: // sipush
@@ -326,6 +361,12 @@ public void visitIntInsn(final int opcode, final int
operand) {
updateRenumbering();
}
+ /**
+ * Visits a jump instruction.
+ *
+ * @param opcode the opcode.
+ * @param label the target label.
+ */
public void visitJumpInsn(final int opcode, final Label label) {
bcCodes.add(opcode);
bcLabel.add(label);
@@ -334,10 +375,20 @@ public void visitJumpInsn(final int opcode, final Label
label) {
updateRenumbering();
}
+ /**
+ * Visits a label.
+ *
+ * @param label the label.
+ */
public void visitLabel(final Label label) {
labelsToOffsets.put(label, Integer.valueOf(byteCodeOffset));
}
+ /**
+ * Visits an LDC instruction.
+ *
+ * @param cst the constant to load.
+ */
public void visitLdcInsn(final Object cst) {
final CPConstant<?> constant = cpBands.getConstant(cst);
if (segment.lastConstantHadWideIndex() || constant instanceof CPLong
|| constant instanceof CPDouble) {
@@ -382,6 +433,13 @@ public void visitLdcInsn(final Object cst) {
updateRenumbering();
}
+ /**
+ * Visits a LOOKUPSWITCH instruction.
+ *
+ * @param dflt the default label.
+ * @param keys the case keys.
+ * @param labels the case labels.
+ */
public void visitLookupSwitchInsn(final Label dflt, final int[] keys,
final Label[] labels) {
bcCodes.add(LOOKUPSWITCH);
bcLabel.add(dflt);
@@ -397,6 +455,14 @@ public void visitLookupSwitchInsn(final Label dflt, final
int[] keys, final Labe
updateRenumbering();
}
+ /**
+ * Visits a method invocation instruction.
+ *
+ * @param opcode the opcode.
+ * @param owner the method owner class.
+ * @param name the method name.
+ * @param desc the method descriptor.
+ */
public void visitMethodInsn(int opcode, final String owner, final String
name, final String desc) {
byteCodeOffset += 3;
switch (opcode) {
@@ -455,6 +521,12 @@ public void visitMethodInsn(int opcode, final String
owner, final String name, f
updateRenumbering();
}
+ /**
+ * Visits a MULTIANEWARRAY instruction.
+ *
+ * @param desc the array type descriptor.
+ * @param dimensions the number of dimensions.
+ */
public void visitMultiANewArrayInsn(final String desc, final int
dimensions) {
byteCodeOffset += 4;
updateRenumbering();
@@ -463,6 +535,14 @@ public void visitMultiANewArrayInsn(final String desc,
final int dimensions) {
bcByte.add(dimensions & 0xFF);
}
+ /**
+ * Visits a TABLESWITCH instruction.
+ *
+ * @param min the minimum key value.
+ * @param max the maximum key value.
+ * @param dflt the default label.
+ * @param labels the case labels.
+ */
public void visitTableSwitchInsn(final int min, final int max, final Label
dflt, final Label... labels) {
bcCodes.add(TABLESWITCH);
bcLabel.add(dflt);
@@ -479,6 +559,12 @@ public void visitTableSwitchInsn(final int min, final int
max, final Label dflt,
updateRenumbering();
}
+ /**
+ * Visits a type instruction.
+ *
+ * @param opcode the opcode (NEW, ANEWARRAY, CHECKCAST, or INSTANCEOF).
+ * @param type the type descriptor.
+ */
public void visitTypeInsn(final int opcode, final String type) {
// NEW, ANEWARRAY, CHECKCAST or INSTANCEOF
byteCodeOffset += 3;
@@ -490,6 +576,12 @@ public void visitTypeInsn(final int opcode, final String
type) {
}
}
+ /**
+ * Visits a local variable instruction.
+ *
+ * @param opcode the opcode.
+ * @param var the local variable index.
+ */
public void visitVarInsn(final int opcode, final int var) {
// ILOAD, LLOAD, FLOAD, DLOAD, ALOAD, ISTORE, LSTORE, FSTORE, DSTORE,
ASTORE or RET
if (var > 255) {
diff --git
a/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java
b/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java
index 180ce9da0..723b7d9b5 100644
--- a/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java
+++ b/src/main/java/org/apache/commons/compress/harmony/pack200/ClassBands.java
@@ -220,6 +220,15 @@ protected static int countArgs(final String descriptor) {
private List<CPUTF8> classInnerClassesNameRUN;
+ /**
+ * Constructs a new ClassBands.
+ *
+ * @param segment the segment.
+ * @param numClasses the number of classes.
+ * @param effort the packing effort.
+ * @param stripDebug whether to strip debug information.
+ * @throws IOException if an I/O error occurs.
+ */
public ClassBands(final Segment segment, final int numClasses, final int
effort, final boolean stripDebug) throws IOException {
super(effort, segment.getSegmentHeader());
this.stripDebug = stripDebug;
@@ -257,6 +266,20 @@ public ClassBands(final Segment segment, final int
numClasses, final int effort,
createNewAttributeBands();
}
+ /**
+ * Adds an annotation to a class, field, or method.
+ *
+ * @param context the context (class, field, or method).
+ * @param desc the annotation descriptor.
+ * @param visible whether the annotation is visible at runtime.
+ * @param nameRU the name list.
+ * @param tags the tag list.
+ * @param values the value list.
+ * @param caseArrayN the case array.
+ * @param nestTypeRS the nested type list.
+ * @param nestNameRU the nested name list.
+ * @param nestPairN the nested pair list.
+ */
public void addAnnotation(final int context, final String desc, final
boolean visible, final List<String> nameRU, final List<String> tags,
final List<Object> values, final List<Integer> caseArrayN, final
List<String> nestTypeRS, final List<String> nestNameRU,
final List<Integer> nestPairN) {
@@ -325,6 +348,17 @@ public void addAnnotation(final int context, final String
desc, final boolean vi
}
}
+ /**
+ * Adds an annotation default value.
+ *
+ * @param nameRU the name list.
+ * @param tags the tag list.
+ * @param values the value list.
+ * @param caseArrayN the case array.
+ * @param nestTypeRS the nested type list.
+ * @param nestNameRU the nested name list.
+ * @param nestPairN the nested pair list.
+ */
public void addAnnotationDefault(final List<String> nameRU, final
List<String> tags, final List<Object> values, final List<Integer> caseArrayN,
final List<String> nestTypeRS, final List<String> nestNameRU,
final List<Integer> nestPairN) {
method_AD_bands.addAnnotation(null, nameRU, tags, values, caseArrayN,
nestTypeRS, nestNameRU, nestPairN);
@@ -332,6 +366,16 @@ public void addAnnotationDefault(final List<String>
nameRU, final List<String> t
tempMethodFlags.add(Long.valueOf(flag.longValue() | 1 << 25));
}
+ /**
+ * Adds a class.
+ *
+ * @param major the major version
+ * @param flags the class flags
+ * @param className the class name
+ * @param signature the signature
+ * @param superName the super class name
+ * @param interfaces the implemented interfaces
+ */
public void addClass(final int major, final int flags, final String
className, final String signature, final String superName, final String[]
interfaces) {
class_this[index] = cpBands.getCPClass(className);
class_super[index] = cpBands.getCPClass(superName);
@@ -373,6 +417,9 @@ public void addClassAttribute(final NewAttribute attribute)
{
throw new IllegalArgumentException("No suitable definition for " +
attributeName);
}
+ /**
+ * Adds code attributes.
+ */
public void addCode() {
codeHandlerCount.add(0);
if (!stripDebug) {
@@ -413,6 +460,15 @@ public void addEnclosingMethod(final String
ownerClassName, final String name, f
classEnclosingMethodDesc.add(name == null ? null :
cpBands.getCPNameAndType(name, signature));
}
+ /**
+ * Adds a field.
+ *
+ * @param flags the field flags.
+ * @param name the field name.
+ * @param desc the field descriptor.
+ * @param signature the field signature.
+ * @param value the constant value.
+ */
public void addField(int flags, final String name, final String desc,
final String signature, final Object value) {
flags &= 0xFFFF;
tempFieldDesc.add(cpBands.getCPNameAndType(name, desc));
@@ -454,6 +510,14 @@ public void addFieldAttribute(final NewAttribute
attribute) {
throw new IllegalArgumentException("No suitable definition for " +
attributeName);
}
+ /**
+ * Adds an exception handler.
+ *
+ * @param start the start label.
+ * @param end the end label.
+ * @param handler the handler label.
+ * @param type the exception type.
+ */
public void addHandler(final Label start, final Label end, final Label
handler, final String type) {
final int handlers = codeHandlerCount.remove(codeHandlerCount.size() -
1);
codeHandlerCount.add(handlers + 1);
@@ -463,6 +527,12 @@ public void addHandler(final Label start, final Label end,
final Label handler,
codeHandlerClass.add(type == null ? null : cpBands.getCPClass(type));
}
+ /**
+ * Adds a line number entry.
+ *
+ * @param line the line number.
+ * @param start the start label.
+ */
public void addLineNumber(final int line, final Label start) {
final Long latestCodeFlag = codeFlags.get(codeFlags.size() - 1);
if ((latestCodeFlag.intValue() & 1 << 1) == 0) {
@@ -476,6 +546,16 @@ public void addLineNumber(final int line, final Label
start) {
codeLineNumberTableBciP.add(start);
}
+ /**
+ * Adds a local variable.
+ *
+ * @param name the variable name.
+ * @param desc the variable descriptor.
+ * @param signature the variable signature.
+ * @param start the start label.
+ * @param end the end label.
+ * @param indx the variable index.
+ */
public void addLocalVariable(final String name, final String desc, final
String signature, final Label start, final Label end, final int indx) {
if (signature != null) { // LocalVariableTypeTable attribute
final Long latestCodeFlag = codeFlags.get(codeFlags.size() - 1);
@@ -501,6 +581,12 @@ public void addLocalVariable(final String name, final
String desc, final String
codeLocalVariableTableSlot.add(indx);
}
+ /**
+ * Adds maximum stack and locals information.
+ *
+ * @param maxStack the maximum stack size.
+ * @param maxLocals the maximum number of local variables.
+ */
public void addMaxStack(final int maxStack, int maxLocals) {
final Long latestFlag = tempMethodFlags.remove(tempMethodFlags.size()
- 1);
final Long newFlag = Long.valueOf(latestFlag.intValue() | 1 << 17);
@@ -513,6 +599,15 @@ public void addMaxStack(final int maxStack, int maxLocals)
{
codeMaxLocals.add(maxLocals);
}
+ /**
+ * Adds a method.
+ *
+ * @param flags the method flags.
+ * @param name the method name.
+ * @param desc the method descriptor.
+ * @param signature the method signature.
+ * @param exceptions the thrown exceptions.
+ */
public void addMethod(int flags, final String name, final String desc,
final String signature, final String[] exceptions) {
final CPNameAndType nt = cpBands.getCPNameAndType(name, desc);
tempMethodDesc.add(nt);
@@ -558,6 +653,20 @@ public void addMethodAttribute(final NewAttribute
attribute) {
throw new IllegalArgumentException("No suitable definition for " +
attributeName);
}
+ /**
+ * Adds a parameter annotation.
+ *
+ * @param parameter the parameter index.
+ * @param desc the annotation descriptor.
+ * @param visible whether the annotation is visible at runtime.
+ * @param nameRU the name list.
+ * @param tags the tag list.
+ * @param values the value list.
+ * @param caseArrayN the case array.
+ * @param nestTypeRS the nested type list.
+ * @param nestNameRU the nested name list.
+ * @param nestPairN the nested pair list.
+ */
public void addParameterAnnotation(final int parameter, final String desc,
final boolean visible, final List<String> nameRU, final List<String> tags,
final List<Object> values, final List<Integer> caseArrayN, final
List<String> nestTypeRS, final List<String> nestNameRU,
final List<Integer> nestPairN) {
@@ -621,6 +730,12 @@ public void currentClassReferencesInnerClass(final CPClass
inner) {
}
}
+ /**
+ * Renumbers bytecode indices.
+ *
+ * @param bciRenumbering the renumbering map.
+ * @param labelsToOffsets the label to offset map.
+ */
public void doBciRenumbering(final IntList bciRenumbering, final
Map<Label, Integer> labelsToOffsets) {
renumberBci(codeLineNumberTableBciP, bciRenumbering, labelsToOffsets);
renumberBci(codeLocalVariableTableBciP, bciRenumbering,
labelsToOffsets);
diff --git
a/src/main/java/org/apache/commons/compress/harmony/unpack200/AttributeLayoutMap.java
b/src/main/java/org/apache/commons/compress/harmony/unpack200/AttributeLayoutMap.java
index 940256322..78165f722 100644
---
a/src/main/java/org/apache/commons/compress/harmony/unpack200/AttributeLayoutMap.java
+++
b/src/main/java/org/apache/commons/compress/harmony/unpack200/AttributeLayoutMap.java
@@ -128,16 +128,32 @@ private static AttributeLayout[]
getDefaultAttributeLayouts() throws Pack200Exce
private final Map<AttributeLayout, NewAttributeBands> layoutsToBands = new
HashMap<>();
+ /**
+ * Constructs a new instance with default values.
+ *
+ * @throws Pack200Exception if an error occurs.
+ */
public AttributeLayoutMap() throws Pack200Exception {
for (final AttributeLayout defaultAttributeLayout :
getDefaultAttributeLayouts()) {
add(defaultAttributeLayout);
}
}
+ /**
+ * Adds an attribute layout to this map.
+ *
+ * @param layout the attribute layout to add.
+ */
public void add(final AttributeLayout layout) {
getLayout(layout.getContext()).put(Integer.valueOf(layout.getIndex()),
layout);
}
+ /**
+ * Adds an attribute layout and associates it with new attribute bands.
+ *
+ * @param layout the attribute layout to add.
+ * @param newBands the new attribute bands.
+ */
public void add(final AttributeLayout layout, final NewAttributeBands
newBands) {
add(layout);
layoutsToBands.put(layout, newBands);
@@ -168,15 +184,35 @@ public void checkMap() throws Pack200Exception {
}
}
+ /**
+ * Gets the attribute bands for the given layout.
+ *
+ * @param layout the attribute layout.
+ * @return the attribute bands.
+ */
public NewAttributeBands getAttributeBands(final AttributeLayout layout) {
return layoutsToBands.get(layout);
}
+ /**
+ * Gets the attribute layout for the given index and context.
+ *
+ * @param index the index.
+ * @param context the context.
+ * @return the attribute layout.
+ */
public AttributeLayout getAttributeLayout(final int index, final int
context) {
final Map<Integer, AttributeLayout> map = getLayout(context);
return map.get(Integer.valueOf(index));
}
+ /**
+ * Gets the attribute layout for the given name and context.
+ *
+ * @param name the attribute name.
+ * @param context the context.
+ * @return the attribute layout, or null if not found.
+ */
public AttributeLayout getAttributeLayout(final String name, final int
context) {
final Map<Integer, AttributeLayout> map = getLayout(context);
for (final AttributeLayout layout : map.values()) {
diff --git
a/src/main/java/org/apache/commons/compress/harmony/unpack200/BcBands.java
b/src/main/java/org/apache/commons/compress/harmony/unpack200/BcBands.java
index af4a2bea0..556cb5526 100644
--- a/src/main/java/org/apache/commons/compress/harmony/unpack200/BcBands.java
+++ b/src/main/java/org/apache/commons/compress/harmony/unpack200/BcBands.java
@@ -124,86 +124,191 @@ private boolean endsWithStore(final int codePacked) {
return codePacked >= 54 && codePacked <= 58;
}
+ /**
+ * Gets the bcByte array.
+ *
+ * @return the bcByte array.
+ */
public int[] getBcByte() {
return bcByte;
}
+ /**
+ * Gets the bcCaseCount array.
+ *
+ * @return the bcCaseCount array.
+ */
public int[] getBcCaseCount() {
return bcCaseCount;
}
+ /**
+ * Gets the bcCaseValue array.
+ *
+ * @return the bcCaseValue array.
+ */
public int[] getBcCaseValue() {
return bcCaseValue;
}
+ /**
+ * Gets the bcClassRef array.
+ *
+ * @return the bcClassRef array.
+ */
public int[] getBcClassRef() {
return bcClassRef;
}
+ /**
+ * Gets the bcDoubleRef array.
+ *
+ * @return the bcDoubleRef array.
+ */
public int[] getBcDoubleRef() {
return bcDoubleRef;
}
+ /**
+ * Gets the bcFieldRef array.
+ *
+ * @return the bcFieldRef array.
+ */
public int[] getBcFieldRef() {
return bcFieldRef;
}
+ /**
+ * Gets the bcFloatRef array.
+ *
+ * @return the bcFloatRef array.
+ */
public int[] getBcFloatRef() {
return bcFloatRef;
}
+ /**
+ * Gets the bcIMethodRef array.
+ *
+ * @return the bcIMethodRef array.
+ */
public int[] getBcIMethodRef() {
return bcIMethodRef;
}
+ /**
+ * Gets the bcInitRef array.
+ *
+ * @return the bcInitRef array.
+ */
public int[] getBcInitRef() {
return bcInitRef;
}
+ /**
+ * Gets the bcIntRef array.
+ *
+ * @return the bcIntRef array.
+ */
public int[] getBcIntRef() {
return bcIntRef;
}
+ /**
+ * Gets the bcLabel array.
+ *
+ * @return the bcLabel array.
+ */
public int[] getBcLabel() {
return bcLabel;
}
+ /**
+ * Gets the bcLocal array.
+ *
+ * @return the bcLocal array.
+ */
public int[] getBcLocal() {
return bcLocal;
}
+ /**
+ * Gets the bcLongRef array.
+ *
+ * @return the bcLongRef array.
+ */
public int[] getBcLongRef() {
return bcLongRef;
}
+ /**
+ * Gets the bcMethodRef array.
+ *
+ * @return the bcMethodRef array.
+ */
public int[] getBcMethodRef() {
return bcMethodRef;
}
+ /**
+ * Gets the bcShort array.
+ *
+ * @return the bcShort array.
+ */
public int[] getBcShort() {
return bcShort;
}
+ /**
+ * Gets the bcStringRef array.
+ *
+ * @return the bcStringRef array.
+ */
public int[] getBcStringRef() {
return bcStringRef;
}
+ /**
+ * Gets the bcSuperField array.
+ *
+ * @return the bcSuperField array.
+ */
public int[] getBcSuperField() {
return bcSuperField;
}
+ /**
+ * Gets the bcSuperMethod array.
+ *
+ * @return the bcSuperMethod array.
+ */
public int[] getBcSuperMethod() {
return bcSuperMethod;
}
+ /**
+ * Gets the bcThisField array.
+ *
+ * @return the bcThisField array.
+ */
public int[] getBcThisField() {
return bcThisField;
}
+ /**
+ * Gets the bcThisMethod array.
+ *
+ * @return the bcThisMethod array.
+ */
public int[] getBcThisMethod() {
return bcThisMethod;
}
+ /**
+ * Gets the method bytecode packed data.
+ *
+ * @return the method bytecode packed data.
+ */
public byte[][][] getMethodByteCodePacked() {
return methodByteCodePacked;
}
diff --git
a/src/main/java/org/apache/commons/compress/harmony/unpack200/IMatcher.java
b/src/main/java/org/apache/commons/compress/harmony/unpack200/IMatcher.java
index 74c05eb59..d514f8d98 100644
--- a/src/main/java/org/apache/commons/compress/harmony/unpack200/IMatcher.java
+++ b/src/main/java/org/apache/commons/compress/harmony/unpack200/IMatcher.java
@@ -23,6 +23,12 @@
*/
public interface IMatcher {
+ /**
+ * Tests whether the given value matches.
+ *
+ * @param value the value to test.
+ * @return true if the value matches, false otherwise.
+ */
boolean matches(long value);
}