|Home >> All >> org >> apache >> bcel >> [ util Javadoc ]|
org.apache.bcel.util: Javadoc index of package org.apache.bcel.util.
ClassLoader: Drop in replacement for the standard class loader of the JVM. You can use it in conjunction with the JavaWrapper to dynamically modify/create classes as they're requested. This class loader recognizes special requests in a distinct format, i.e., when the name of the requested class contains with "$$BCEL$$" it calls the createClass() method with that name (everything bevor the $$BCEL$$ is considered to be the package name. You can subclass the class loader and override that method. "Normal" classes class can be modified by overriding the modifyClass() method which is called just before defineClass(). ...
InstructionFinder: InstructionFinder is a tool to search for given instructions patterns, i.e., match sequences of instructions in an instruction list via regular expressions. This can be used, e.g., in order to implement a peep hole optimizer that looks for code patterns and replaces them with faster equivalents. This class internally uses the Regexp package to search for regular expressions. A typical application would look like this: InstructionFinder f = new InstructionFinder(il); String pat = "IfInstruction ICONST_0 GOTO ICONST_1 NOP (IFEQ|IFNE)"; for(Iterator i = f.search(pat, constraint); i.hasNext(); ...
Class2HTML: Read class file(s) and convert them into HTML files. Given a JavaClass object "class" that is in package "package" five files will be created in the specified directory. "package"."class".html as the main file which defines the frames for the following subfiles. "package"."class"_attributes.html contains all (known) attributes found in the file "package"."class"_cp.html contains the constant pool "package"."class"_code.html contains the byte code "package"."class"_methods.html contains references to all methods and fields of the class All subfiles reference each other appropiately, e.g. clicking ...
JavaWrapper: Java interpreter replacement, i.e., wrapper that uses its own ClassLoader to modify/generate classes as they're requested. You can take this as a template for your own applications. Call this wrapper with java org.apache.bcel.util.JavaWrapper <real.class.name> [arguments] To use your own class loader you can set the "bcel.classloader" system property which defaults to "org.apache.bcel.util.ClassLoader", e.g., with java org.apache.bcel.util.JavaWrapper -Dbcel.classloader=foo.MyLoader <real.class.name> [arguments]
SyntheticRepository: This repository is used in situations where a Class is created outside the realm of a ClassLoader. Classes are loaded from the file systems using the paths specified in the given class path. By default, this is the value returned by ClassPath.getClassPath(). It is designed to be used as a singleton, however it can also be used with custom classpaths. /** Abstract definition of a class repository. Instances may be used to load classes from different sources and may be used in the Repository.setRepository method.
BCELifier: This class takes a given JavaClass object and converts it to a Java program that creates that very class using BCEL. This gives new users of BCEL a useful example showing how things are done with BCEL. It does not cover all features of BCEL, but tries to mimic hand-written code as close as possible.
ByteSequence: Utility class that implements a sequence of bytes which can be read via the `readByte()' method. This is used to implement a wrapper for the Java byte code stream to gain some more readability.
Repository: Abstract definition of a class repository. Instances may be used to load classes from different sources and may be used in the Repository.setRepository method.
ClassLoaderRepository: The repository maintains information about which classes have been loaded. It loads its data from the ClassLoader implementation passed into its constructor.
ClassSet: Utility class implementing a (typesafe) set of JavaClass objects. Since JavaClass has no equals() method, the name of the class is used for comparison.
ClassVector: Utility class implementing a (typesafe) collection of JavaClass objects. Contains the most important methods of a Vector.
BCELFactory: Factory creates il.append() statements, and sets instruction targets. A helper class for BCELifier.
ClassPath: Responsible for loading (class) files from the CLASSPATH. Inspired by sun.tools.ClassPath.
ClassQueue: Utility class implementing a (typesafe) queue of JavaClass objects.
ClassStack: Utility class implementing a (typesafe) stack of JavaClass objects.
MethodHTML: Convert methods and fields into HTML file.
AttributeHTML: Convert found attributes into HTML file.
ConstantHTML: Convert constant pool into HTML file.
BCELComparator: Used for BCEL comparison strategy
CodeHTML: Convert code into HTML file.