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-bcel.git
commit 725f7f3dc10829b0c046a074b5d60f979823af33 Author: Gary Gregory <[email protected]> AuthorDate: Fri Feb 13 17:41:19 2026 -0500 Javadoc --- src/main/java/org/apache/bcel/Repository.java | 98 ++++++++++++++++++---- .../java/org/apache/bcel/classfile/NestHost.java | 6 ++ .../org/apache/bcel/classfile/NestMembers.java | 10 +++ .../org/apache/bcel/generic/MULTIANEWARRAY.java | 8 ++ src/main/java/org/apache/bcel/generic/NEW.java | 5 ++ .../java/org/apache/bcel/generic/NEWARRAY.java | 14 ++++ src/main/java/org/apache/bcel/generic/NOP.java | 3 + .../bcel/generic/NameSignatureInstruction.java | 21 +++++ src/main/java/org/apache/bcel/generic/POP.java | 3 + src/main/java/org/apache/bcel/generic/POP2.java | 3 + .../java/org/apache/bcel/generic/PUTFIELD.java | 5 ++ .../java/org/apache/bcel/generic/PUTSTATIC.java | 5 ++ src/main/java/org/apache/bcel/generic/RET.java | 5 ++ src/main/java/org/apache/bcel/generic/RETURN.java | 3 + src/main/java/org/apache/bcel/generic/SALOAD.java | 3 + src/main/java/org/apache/bcel/generic/SASTORE.java | 3 + .../org/apache/bcel/verifier/NativeVerifier.java | 2 + 17 files changed, 179 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/apache/bcel/Repository.java b/src/main/java/org/apache/bcel/Repository.java index 7ef8af7c..21a7ef11 100644 --- a/src/main/java/org/apache/bcel/Repository.java +++ b/src/main/java/org/apache/bcel/Repository.java @@ -35,9 +35,16 @@ public abstract class Repository { private static org.apache.bcel.util.Repository repository = SyntheticRepository.getInstance(); + /** + * Constructs a new Repository. + */ + public Repository() { + } + /** * Adds clazz to repository if there isn't an equally named class already in there. * + * @param clazz the class to add. * @return old entry in repository. */ public static JavaClass addClass(final JavaClass clazz) { @@ -54,25 +61,33 @@ public abstract class Repository { } /** + * Gets all interfaces implemented by the class. + * + * @param clazz the class. * @return all interfaces implemented by class and its super classes and the interfaces that those interfaces extend, * and so on. (Some people call this a transitive hull). - * @throws ClassNotFoundException if any of the class's superclasses or superinterfaces can't be found + * @throws ClassNotFoundException if any of the class's superclasses or superinterfaces can't be found. */ public static JavaClass[] getInterfaces(final JavaClass clazz) throws ClassNotFoundException { return clazz.getAllInterfaces(); } /** + * Gets all interfaces implemented by the class. + * + * @param className the class name. * @return all interfaces implemented by class and its super classes and the interfaces that extend those interfaces, - * and so on + * and so on. * @throws ClassNotFoundException if the named class can't be found, or if any of its superclasses or superinterfaces - * can't be found + * can't be found. */ public static JavaClass[] getInterfaces(final String className) throws ClassNotFoundException { return getInterfaces(lookupClass(className)); } /** + * Gets the currently used repository instance. + * * @return currently used repository instance. */ public static org.apache.bcel.util.Repository getRepository() { @@ -80,48 +95,70 @@ public abstract class Repository { } /** + * Gets the list of super classes. + * + * @param clazz the class. * @return list of super classes of clazz in ascending order, that is, Object is always the last element. - * @throws ClassNotFoundException if any of the superclasses can't be found + * @throws ClassNotFoundException if any of the superclasses can't be found. */ public static JavaClass[] getSuperClasses(final JavaClass clazz) throws ClassNotFoundException { return clazz.getSuperClasses(); } /** + * Gets the list of super classes. + * + * @param className the class name. * @return list of super classes of clazz in ascending order, that is, Object is always the last element. - * @throws ClassNotFoundException if the named class or any of its superclasses can't be found + * @throws ClassNotFoundException if the named class or any of its superclasses can't be found. */ public static JavaClass[] getSuperClasses(final String className) throws ClassNotFoundException { return getSuperClasses(lookupClass(className)); } /** + * Tests if clazz is an implementation of interface inter. + * + * @param clazz the class to test. + * @param inter the interface. * @return true, if clazz is an implementation of interface inter. - * @throws ClassNotFoundException if any superclasses or superinterfaces of clazz can't be found + * @throws ClassNotFoundException if any superclasses or superinterfaces of clazz can't be found. */ public static boolean implementationOf(final JavaClass clazz, final JavaClass inter) throws ClassNotFoundException { return clazz.implementationOf(inter); } /** + * Tests if clazz is an implementation of interface inter. + * + * @param clazz the class to test. + * @param inter the interface name. * @return true, if clazz is an implementation of interface inter. - * @throws ClassNotFoundException if inter or any superclasses or superinterfaces of clazz can't be found + * @throws ClassNotFoundException if inter or any superclasses or superinterfaces of clazz can't be found. */ public static boolean implementationOf(final JavaClass clazz, final String inter) throws ClassNotFoundException { return implementationOf(clazz, lookupClass(inter)); } /** + * Tests if clazz is an implementation of interface inter. + * + * @param clazz the class name to test. + * @param inter the interface. * @return true, if clazz is an implementation of interface inter. - * @throws ClassNotFoundException if clazz or any superclasses or superinterfaces of clazz can't be found + * @throws ClassNotFoundException if clazz or any superclasses or superinterfaces of clazz can't be found. */ public static boolean implementationOf(final String clazz, final JavaClass inter) throws ClassNotFoundException { return implementationOf(lookupClass(clazz), inter); } /** + * Tests if clazz is an implementation of interface inter. + * + * @param clazz the class name to test. + * @param inter the interface name. * @return true, if clazz is an implementation of interface inter. - * @throws ClassNotFoundException if clazz, inter, or any superclasses or superinterfaces of clazz can't be found + * @throws ClassNotFoundException if clazz, inter, or any superclasses or superinterfaces of clazz can't be found. */ public static boolean implementationOf(final String clazz, final String inter) throws ClassNotFoundException { return implementationOf(lookupClass(clazz), lookupClass(inter)); @@ -130,32 +167,46 @@ public abstract class Repository { /** * Equivalent to runtime "instanceof" operator. * + * @param clazz the class to test. + * @param superclass the superclass. * @return true, if clazz is an instance of superclass. - * @throws ClassNotFoundException if any superclasses or superinterfaces of clazz can't be found + * @throws ClassNotFoundException if any superclasses or superinterfaces of clazz can't be found. */ public static boolean instanceOf(final JavaClass clazz, final JavaClass superclass) throws ClassNotFoundException { return clazz.instanceOf(superclass); } /** + * Tests if clazz is an instance of superclass. + * + * @param clazz the class to test. + * @param superclass the superclass name. * @return true, if clazz is an instance of superclass. - * @throws ClassNotFoundException if superclass can't be found + * @throws ClassNotFoundException if superclass can't be found. */ public static boolean instanceOf(final JavaClass clazz, final String superclass) throws ClassNotFoundException { return instanceOf(clazz, lookupClass(superclass)); } /** + * Tests if clazz is an instance of superclass. + * + * @param clazz the class name to test. + * @param superclass the superclass. * @return true, if clazz is an instance of superclass. - * @throws ClassNotFoundException if clazz can't be found + * @throws ClassNotFoundException if clazz can't be found. */ public static boolean instanceOf(final String clazz, final JavaClass superclass) throws ClassNotFoundException { return instanceOf(lookupClass(clazz), superclass); } /** + * Tests if clazz is an instance of superclass. + * + * @param clazz the class name to test. + * @param superclass the superclass name. * @return true, if clazz is an instance of superclass. - * @throws ClassNotFoundException if either clazz or superclass can't be found + * @throws ClassNotFoundException if either clazz or superclass can't be found. */ public static boolean instanceOf(final String clazz, final String superclass) throws ClassNotFoundException { return instanceOf(lookupClass(clazz), lookupClass(superclass)); @@ -164,27 +215,32 @@ public abstract class Repository { /** * Tries to find class source using the internal repository instance. * + * @param clazz the class. * @see Class * @return JavaClass object for given runtime class. - * @throws ClassNotFoundException if the class could not be found or parsed correctly + * @throws ClassNotFoundException if the class could not be found or parsed correctly. */ public static JavaClass lookupClass(final Class<?> clazz) throws ClassNotFoundException { return repository.loadClass(clazz); } /** - * Lookups class somewhere found on your CLASSPATH, or whereever the repository instance looks for it. + * Lookups class somewhere found on your CLASSPATH, or wherever the repository instance looks for it. * + * @param className the class name. * @return class object for given fully qualified class name. - * @throws ClassNotFoundException if the class could not be found or parsed correctly + * @throws ClassNotFoundException if the class could not be found or parsed correctly. */ public static JavaClass lookupClass(final String className) throws ClassNotFoundException { return repository.loadClass(className); } /** + * Looks up the class file. + * + * @param className the class name. * @return class file object for given Java class by looking on the system class path; returns null if the class file - * can't be found + * can't be found. */ public static ClassPath.ClassFile lookupClassFile(final String className) { try (ClassPath path = repository.getClassPath()) { @@ -196,6 +252,8 @@ public abstract class Repository { /** * Removes given class from repository. + * + * @param clazz the class to remove. */ public static void removeClass(final JavaClass clazz) { repository.removeClass(clazz); @@ -203,13 +261,17 @@ public abstract class Repository { /** * Removes class with given (fully qualified) name from repository. + * + * @param clazz the class name to remove. */ public static void removeClass(final String clazz) { repository.removeClass(repository.findClass(clazz)); } /** - * Sets repository instance to be used for class loading + * Sets repository instance to be used for class loading. + * + * @param rep the repository instance. */ public static void setRepository(final org.apache.bcel.util.Repository rep) { repository = rep; diff --git a/src/main/java/org/apache/bcel/classfile/NestHost.java b/src/main/java/org/apache/bcel/classfile/NestHost.java index b32ecc6d..9c2ffb71 100644 --- a/src/main/java/org/apache/bcel/classfile/NestHost.java +++ b/src/main/java/org/apache/bcel/classfile/NestHost.java @@ -51,6 +51,8 @@ public final class NestHost extends Attribute { } /** + * Constructs a new NestHost. + * * @param nameIndex Index in constant pool. * @param length Content length in bytes. * @param hostClassIndex Host class index. @@ -105,6 +107,8 @@ public final class NestHost extends Attribute { } /** + * Gets the host class index. + * * @return index into constant pool of host class name. */ public int getHostClassIndex() { @@ -112,6 +116,8 @@ public final class NestHost extends Attribute { } /** + * Sets the host class index. + * * @param hostClassIndex the host class index. */ public void setHostClassIndex(final int hostClassIndex) { diff --git a/src/main/java/org/apache/bcel/classfile/NestMembers.java b/src/main/java/org/apache/bcel/classfile/NestMembers.java index 4545d8a5..85718943 100644 --- a/src/main/java/org/apache/bcel/classfile/NestMembers.java +++ b/src/main/java/org/apache/bcel/classfile/NestMembers.java @@ -54,6 +54,8 @@ public final class NestMembers extends Attribute { } /** + * Constructs a new NestMembers. + * * @param nameIndex Index in constant pool. * @param length Content length in bytes. * @param classes Table of indices in constant pool. @@ -115,6 +117,8 @@ public final class NestMembers extends Attribute { } /** + * Gets the classes. + * * @return array of indices into constant pool of class names. */ public int[] getClasses() { @@ -122,6 +126,8 @@ public final class NestMembers extends Attribute { } /** + * Gets the class names. + * * @return string array of class names. */ public String[] getClassNames() { @@ -131,6 +137,8 @@ public final class NestMembers extends Attribute { } /** + * Gets the number of classes. + * * @return Length of classes table. */ public int getNumberClasses() { @@ -138,6 +146,8 @@ public final class NestMembers extends Attribute { } /** + * Sets the classes. + * * @param classes the list of class indexes Also redefines number_of_classes according to table length. */ public void setClasses(final int[] classes) { diff --git a/src/main/java/org/apache/bcel/generic/MULTIANEWARRAY.java b/src/main/java/org/apache/bcel/generic/MULTIANEWARRAY.java index b332a2e1..510d0044 100644 --- a/src/main/java/org/apache/bcel/generic/MULTIANEWARRAY.java +++ b/src/main/java/org/apache/bcel/generic/MULTIANEWARRAY.java @@ -42,6 +42,12 @@ public class MULTIANEWARRAY extends CPInstruction implements LoadClass, Allocati MULTIANEWARRAY() { } + /** + * Constructs a MULTIANEWARRAY instruction. + * + * @param index index into constant pool. + * @param dimensions number of dimensions. + */ public MULTIANEWARRAY(final int index, final short dimensions) { super(org.apache.bcel.Const.MULTIANEWARRAY, index); if (dimensions < 1) { @@ -90,6 +96,8 @@ public class MULTIANEWARRAY extends CPInstruction implements LoadClass, Allocati } /** + * Gets the number of dimensions. + * * @return number of dimensions to be created. */ public final short getDimensions() { diff --git a/src/main/java/org/apache/bcel/generic/NEW.java b/src/main/java/org/apache/bcel/generic/NEW.java index fcdd7202..fecee5ce 100644 --- a/src/main/java/org/apache/bcel/generic/NEW.java +++ b/src/main/java/org/apache/bcel/generic/NEW.java @@ -35,6 +35,11 @@ public class NEW extends CPInstruction implements LoadClass, AllocationInstructi NEW() { } + /** + * Constructs a NEW instruction. + * + * @param index index into constant pool. + */ public NEW(final int index) { super(org.apache.bcel.Const.NEW, index); } diff --git a/src/main/java/org/apache/bcel/generic/NEWARRAY.java b/src/main/java/org/apache/bcel/generic/NEWARRAY.java index fd355fd1..8ac94470 100644 --- a/src/main/java/org/apache/bcel/generic/NEWARRAY.java +++ b/src/main/java/org/apache/bcel/generic/NEWARRAY.java @@ -43,10 +43,20 @@ public class NEWARRAY extends Instruction implements AllocationInstruction, Exce NEWARRAY() { } + /** + * Constructs a NEWARRAY instruction. + * + * @param type element type of array. + */ public NEWARRAY(final BasicType type) { this(type.getType()); } + /** + * Constructs a NEWARRAY instruction. + * + * @param type element type code. + */ public NEWARRAY(final byte type) { super(org.apache.bcel.Const.NEWARRAY, (short) 2); this.type = type; @@ -83,6 +93,8 @@ public class NEWARRAY extends Instruction implements AllocationInstruction, Exce } /** + * Gets the type of the constructed array. + * * @return type of constructed array. */ public final Type getType() { @@ -90,6 +102,8 @@ public class NEWARRAY extends Instruction implements AllocationInstruction, Exce } /** + * Gets the type code. + * * @return numeric code for basic element type. */ public final byte getTypecode() { diff --git a/src/main/java/org/apache/bcel/generic/NOP.java b/src/main/java/org/apache/bcel/generic/NOP.java index 452197f7..7d80bfa4 100644 --- a/src/main/java/org/apache/bcel/generic/NOP.java +++ b/src/main/java/org/apache/bcel/generic/NOP.java @@ -23,6 +23,9 @@ package org.apache.bcel.generic; */ public class NOP extends Instruction { + /** + * Constructs a NOP instruction. + */ public NOP() { super(org.apache.bcel.Const.NOP, (short) 1); } diff --git a/src/main/java/org/apache/bcel/generic/NameSignatureInstruction.java b/src/main/java/org/apache/bcel/generic/NameSignatureInstruction.java index bdb72d27..f1a0349b 100644 --- a/src/main/java/org/apache/bcel/generic/NameSignatureInstruction.java +++ b/src/main/java/org/apache/bcel/generic/NameSignatureInstruction.java @@ -31,14 +31,26 @@ import org.apache.bcel.classfile.ConstantUtf8; */ public abstract class NameSignatureInstruction extends CPInstruction { + /** + * Constructs a NameSignatureInstruction. + */ public NameSignatureInstruction() { } + /** + * Constructs a NameSignatureInstruction. + * + * @param opcode the opcode. + * @param index index into constant pool. + */ public NameSignatureInstruction(final short opcode, final int index) { super(opcode, index); } /** + * Gets the name of the referenced method or field. + * + * @param cpg constant pool generator. * @return name of referenced method/field. */ public String getName(final ConstantPoolGen cpg) { @@ -47,6 +59,12 @@ public abstract class NameSignatureInstruction extends CPInstruction { return ((ConstantUtf8) cp.getConstant(cnat.getNameIndex())).getBytes(); } + /** + * Gets the name and type constant. + * + * @param cpg constant pool generator. + * @return the name and type constant. + */ public ConstantNameAndType getNameAndType(final ConstantPoolGen cpg) { final ConstantPool cp = cpg.getConstantPool(); final ConstantCP cmr = (ConstantCP) cp.getConstant(super.getIndex()); @@ -54,6 +72,9 @@ public abstract class NameSignatureInstruction extends CPInstruction { } /** + * Gets the signature of the referenced method or field. + * + * @param cpg constant pool generator. * @return signature of referenced method/field. */ public String getSignature(final ConstantPoolGen cpg) { diff --git a/src/main/java/org/apache/bcel/generic/POP.java b/src/main/java/org/apache/bcel/generic/POP.java index 96dbf0b7..fb18a985 100644 --- a/src/main/java/org/apache/bcel/generic/POP.java +++ b/src/main/java/org/apache/bcel/generic/POP.java @@ -27,6 +27,9 @@ package org.apache.bcel.generic; */ public class POP extends StackInstruction implements PopInstruction { + /** + * Constructs a POP instruction. + */ public POP() { super(org.apache.bcel.Const.POP); } diff --git a/src/main/java/org/apache/bcel/generic/POP2.java b/src/main/java/org/apache/bcel/generic/POP2.java index 7189e5e2..c63390c8 100644 --- a/src/main/java/org/apache/bcel/generic/POP2.java +++ b/src/main/java/org/apache/bcel/generic/POP2.java @@ -27,6 +27,9 @@ package org.apache.bcel.generic; */ public class POP2 extends StackInstruction implements PopInstruction { + /** + * Constructs a POP2 instruction. + */ public POP2() { super(org.apache.bcel.Const.POP2); } diff --git a/src/main/java/org/apache/bcel/generic/PUTFIELD.java b/src/main/java/org/apache/bcel/generic/PUTFIELD.java index 0125d033..a42f61ab 100644 --- a/src/main/java/org/apache/bcel/generic/PUTFIELD.java +++ b/src/main/java/org/apache/bcel/generic/PUTFIELD.java @@ -42,6 +42,11 @@ public class PUTFIELD extends FieldInstruction implements PopInstruction, Except PUTFIELD() { } + /** + * Constructs a PUTFIELD instruction. + * + * @param index index into constant pool. + */ public PUTFIELD(final int index) { super(Const.PUTFIELD, index); } diff --git a/src/main/java/org/apache/bcel/generic/PUTSTATIC.java b/src/main/java/org/apache/bcel/generic/PUTSTATIC.java index 1c9510ce..03ee250a 100644 --- a/src/main/java/org/apache/bcel/generic/PUTSTATIC.java +++ b/src/main/java/org/apache/bcel/generic/PUTSTATIC.java @@ -42,6 +42,11 @@ public class PUTSTATIC extends FieldInstruction implements ExceptionThrower, Pop PUTSTATIC() { } + /** + * Constructs a PUTSTATIC instruction. + * + * @param index index into constant pool. + */ public PUTSTATIC(final int index) { super(Const.PUTSTATIC, index); } diff --git a/src/main/java/org/apache/bcel/generic/RET.java b/src/main/java/org/apache/bcel/generic/RET.java index 9f900666..b2890970 100644 --- a/src/main/java/org/apache/bcel/generic/RET.java +++ b/src/main/java/org/apache/bcel/generic/RET.java @@ -41,6 +41,11 @@ public class RET extends Instruction implements IndexedInstruction, TypedInstruc RET() { } + /** + * Constructs a RET instruction. + * + * @param index index of local variable containing the return address. + */ public RET(final int index) { super(org.apache.bcel.Const.RET, (short) 2); setIndex(index); // May set wide as side effect diff --git a/src/main/java/org/apache/bcel/generic/RETURN.java b/src/main/java/org/apache/bcel/generic/RETURN.java index b508eba2..a97f1e4d 100644 --- a/src/main/java/org/apache/bcel/generic/RETURN.java +++ b/src/main/java/org/apache/bcel/generic/RETURN.java @@ -27,6 +27,9 @@ package org.apache.bcel.generic; */ public class RETURN extends ReturnInstruction { + /** + * Constructs a RETURN instruction. + */ public RETURN() { super(org.apache.bcel.Const.RETURN); } diff --git a/src/main/java/org/apache/bcel/generic/SALOAD.java b/src/main/java/org/apache/bcel/generic/SALOAD.java index 1a5c7253..7c156dfe 100644 --- a/src/main/java/org/apache/bcel/generic/SALOAD.java +++ b/src/main/java/org/apache/bcel/generic/SALOAD.java @@ -27,6 +27,9 @@ package org.apache.bcel.generic; */ public class SALOAD extends ArrayInstruction implements StackProducer { + /** + * Constructs a SALOAD instruction. + */ public SALOAD() { super(org.apache.bcel.Const.SALOAD); } diff --git a/src/main/java/org/apache/bcel/generic/SASTORE.java b/src/main/java/org/apache/bcel/generic/SASTORE.java index 0a24bbfa..d5581fc9 100644 --- a/src/main/java/org/apache/bcel/generic/SASTORE.java +++ b/src/main/java/org/apache/bcel/generic/SASTORE.java @@ -27,6 +27,9 @@ package org.apache.bcel.generic; */ public class SASTORE extends ArrayInstruction implements StackConsumer { + /** + * Constructs a SASTORE instruction. + */ public SASTORE() { super(org.apache.bcel.Const.SASTORE); } diff --git a/src/main/java/org/apache/bcel/verifier/NativeVerifier.java b/src/main/java/org/apache/bcel/verifier/NativeVerifier.java index 6fe2f22b..5cb1ef9e 100644 --- a/src/main/java/org/apache/bcel/verifier/NativeVerifier.java +++ b/src/main/java/org/apache/bcel/verifier/NativeVerifier.java @@ -30,6 +30,8 @@ public abstract class NativeVerifier { /** * Works only on the first argument. + * + * @param args command line arguments. */ public static void main(final String[] args) { if (args.length != 1) {
