All Packages Class Hierarchy This Package Previous Next Index
Class de.fub.bytecode.classfile.Utility
java.lang.Object
|
+----de.fub.bytecode.classfile.Utility
- public abstract class Utility
- extends Object
- implements Constants
Utility functions that do not really belong to any class in particular.
- Version:
- $Id: Utility.java,v 1.16 1999/08/06 09:50:31 dahm Exp $
- Author:
- M. Dahm
-
Utility()
-
-
accessToString(int)
- Convert bit field of flags into string such as `static final'.
-
accessToString(int, boolean)
- Convert bit field of flags into string such as `static final'.
-
classOrInterface(int)
-
-
clearBit(int, int)
-
-
codeToString(byte[], ConstantPool, int, int)
-
-
codeToString(byte[], ConstantPool, int, int, boolean)
- Disassemble a byte array of JVM byte codes starting from code line
`index' and return the dissambled string representation.
-
codeToString(ByteSequence, ConstantPool)
-
-
codeToString(ByteSequence, ConstantPool, boolean)
- Disassemble a stream of byte codes and return the
string representation.
-
compactClassName(String)
- Shorten long class names, java/lang/String becomes
String.
-
compactClassName(String, boolean)
- Shorten long class names, java/lang/String becomes
java.lang.String,
e.g..
-
compactClassName(String, String, boolean)
- Shorten long class name str, i.e.
-
fillup(String, int, boolean, char)
- Fillup char with up to length characters with char `fill' and justify it left or right.
-
format(int, int, boolean, char)
- Return a string for an integer justified left or right and filled up with
`fill' characters if necessary.
-
isSet(int, int)
-
-
methodSignatureArgumentTypes(String)
-
-
methodSignatureArgumentTypes(String, boolean)
-
-
methodSignatureReturnType(String)
-
-
methodSignatureReturnType(String, boolean)
-
-
methodSignatureToString(String, String, String)
- Converts method signature to string with all class names compacted.
-
methodSignatureToString(String, String, String, boolean)
- A returntype signature represents the return value from a method.
-
methodTypeToSignature(String, String[])
- Converts string containing the method return and argument types
to a byte code method signature.
-
printArray(Object[])
-
-
printArray(Object[], boolean)
-
-
printArray(PrintStream, Object[])
-
-
printArray(PrintWriter, Object[])
-
-
replace(String, String, String)
- Replace all occurences of old in str with new.
-
setBit(int, int)
-
-
signatureToString(String)
- Converts signature to string with all class names compacted.
-
signatureToString(String, boolean)
- The field signature represents the value of an argument to a function or
the value of a variable.
-
toHexString(byte[])
-
-
typeOfMethodSignature(String)
- Return type of method signature as a byte value as defined in Constants
-
typeOfSignature(String)
- Return type of signature as a byte value as defined in Constants
-
typeToSignature(String)
- Gets Java conformant type like `String[]' and returns a string containing
the type in byte code format, i.e.
Utility
public Utility()
accessToString
public static final String accessToString(int access_flags)
- Convert bit field of flags into string such as `static final'.
- Parameters:
- access_flags - Access flags
- Returns:
- String representation of flags
accessToString
public static final String accessToString(int access_flags,
boolean for_class)
- Convert bit field of flags into string such as `static final'.
Special case: Classes compiled with new compilers and with the
`ACC_SUPER' flag would be said to be "synchronized". This is
because SUN used the same value for the flags `ACC_SUPER' and
`ACC_SYNCHRONIZED'.
- Parameters:
- access_flags - Access flags
- for_class - access flags are for class qualifiers ?
- Returns:
- String representation of flags
classOrInterface
public static final String classOrInterface(int access_flags)
- Returns:
- "class" or "interface", depending on the ACC_INTERFACE flag
codeToString
public static final String codeToString(byte code[],
ConstantPool constant_pool,
int index,
int length,
boolean verbose)
- Disassemble a byte array of JVM byte codes starting from code line
`index' and return the dissambled string representation. Decode only
`num' opcodes (including their operands), use -1 if you want to
decompile everything.
- Parameters:
- code - byte code array
- constant_pool - Array of constants
- index - offset in `code' array
(number of opcodes, not bytes!)
- length - number of opcodes to decompile, -1 for all
- verbose - be verbose, e.g. print constant pool index
- Returns:
- String representation of byte codes
codeToString
public static final String codeToString(byte code[],
ConstantPool constant_pool,
int index,
int length)
codeToString
public static final String codeToString(ByteSequence bytes,
ConstantPool constant_pool,
boolean verbose) throws IOException
- Disassemble a stream of byte codes and return the
string representation.
- Parameters:
- stream - data input stream
- constant_pool - Array of constants
- verbose - be verbose, e.g. print constant pool index
- Returns:
- String representation of byte code
codeToString
public static final String codeToString(ByteSequence bytes,
ConstantPool constant_pool) throws IOException
compactClassName
public static final String compactClassName(String str)
- Shorten long class names, java/lang/String becomes
String.
- Parameters:
- str - The long class name
- Returns:
- Compacted class name
compactClassName
public static final String compactClassName(String str,
String prefix,
boolean chopit)
- Shorten long class name str, i.e. chop off the prefix,
if the
class name starts with this string and the flag chopit is true.
Slashes / are converted to dots ..
- Parameters:
- str - The long class name
- prefix - The prefix the get rid off
- chopit - Flag that determines whether chopping is executed or not
- Returns:
- Compacted class name
compactClassName
public static final String compactClassName(String str,
boolean chopit)
- Shorten long class names, java/lang/String becomes
java.lang.String,
e.g.. If chopit is true the prefix java.lang
is also removed.
- Parameters:
- str - The long class name
- chopit - Flag that determines whether chopping is executed or not
- Returns:
- Compacted class name
setBit
public static final int setBit(int flag,
int i)
- Returns:
- `flag' with bit `i' set to 1
clearBit
public static final int clearBit(int flag,
int i)
- Returns:
- `flag' with bit `i' set to 0
isSet
public static final boolean isSet(int flag,
int i)
- Returns:
- true, if bit `i' in `flag' is set
methodTypeToSignature
public static final String methodTypeToSignature(String ret,
String argv[]) throws ClassFormatError
- Converts string containing the method return and argument types
to a byte code method signature.
- Parameters:
- ret - Return type of method
- argv - Types of method arguments
- Returns:
- Byte code representation of method type
typeToSignature
public static final String typeToSignature(String str) throws ClassFormatError
- Gets Java conformant type like `String[]' and returns a string containing
the type in byte code format, i.e. String[] becomes [Ljava/lang/String;
- Parameters:
- str - Type string like int[][]
- Returns:
- Byte code representation of type like [[I
methodSignatureArgumentTypes
public static final String[] methodSignatureArgumentTypes(String signature) throws ClassFormatError
- Parameters:
- signature - Method signature
- Returns:
- Array of argument types
methodSignatureArgumentTypes
public static final String[] methodSignatureArgumentTypes(String signature,
boolean chopit) throws ClassFormatError
- Parameters:
- signature - Method signature
- chopit - Shorten class names ?
- Returns:
- Array of argument types
methodSignatureReturnType
public static final String methodSignatureReturnType(String signature) throws ClassFormatError
- Parameters:
- signature - Method signature
- Returns:
- return type of method
methodSignatureReturnType
public static final String methodSignatureReturnType(String signature,
boolean chopit) throws ClassFormatError
- Parameters:
- signature - Method signature
- chopit - Shorten class names ?
- Returns:
- return type of method
methodSignatureToString
public static final String methodSignatureToString(String signature,
String name,
String access)
- Converts method signature to string with all class names compacted.
- Parameters:
- signature - to convert
- name - of method
- access - flags of method
- Returns:
- Human readable signature
methodSignatureToString
public static final String methodSignatureToString(String signature,
String name,
String access,
boolean chopit) throws ClassFormatError
- A returntype signature represents the return value from a method.
It is a series of bytes in the following grammar:
::= | V
The character V indicates that the method returns no value. Otherwise, the
signature indicates the type of the return value.
An argument signature represents an argument passed to a method:
::=
A method signature represents the arguments that the method expects, and
the value that it returns.
::= ()
::= *
This method converts such a string into a Java type declaration like
`void main(String[])' and throws a `ClassFormatError' when the parsed
type is invalid.
- Parameters:
- signature - Method signature
- name - Method name
- access - Method access rights
- Returns:
- Java type declaration
replace
public static final String replace(String str,
String old,
String new_)
- Replace all occurences of old in str with new.
- Parameters:
- str - String to permute
- old - String to be replaced
- new - Replacement string
- Returns:
- new String object
signatureToString
public static final String signatureToString(String signature)
- Converts signature to string with all class names compacted.
- Parameters:
- signature - to convert
- Returns:
- Human readable signature
signatureToString
public static final String signatureToString(String signature,
boolean chopit) throws ClassFormatError
- The field signature represents the value of an argument to a function or
the value of a variable. It is a series of bytes generated by the
following grammar:
::=
::= ||
::= B|C|D|F|I|J|S|Z
::= L;
::= [
The meaning of the base types is as follows:
B byte signed byte
C char character
D double double precision IEEE float
F float single precision IEEE float
I int integer
J long long integer
L; ... an object of the given class
S short signed short
Z boolean true or false
[ ... array
This method converts this string into a Java type declaration such as
`String[]' and throws a `ClassFormatError' when the parsed type is
invalid.
- Parameters:
- signature - Class signature
- Returns:
- Java type declaration
typeOfMethodSignature
public static final byte typeOfMethodSignature(String signature) throws ClassFormatError
- Return type of method signature as a byte value as defined in Constants
- Parameters:
- signature - in format described above
- Returns:
- type of method signature
- See Also:
- Constants
typeOfSignature
public static final byte typeOfSignature(String signature) throws ClassFormatError
- Return type of signature as a byte value as defined in Constants
- Parameters:
- signature - in format described above
- Returns:
- type of signature
- See Also:
- Constants
toHexString
public static final String toHexString(byte bytes[])
format
public static final String format(int i,
int length,
boolean left_justify,
char fill)
- Return a string for an integer justified left or right and filled up with
`fill' characters if necessary.
- Parameters:
- i - integer to format
- length - length of desired string
- left - format left or right
- fill - fill character
- Returns:
- formatted int
fillup
public static final String fillup(String str,
int length,
boolean left_justify,
char fill)
- Fillup char with up to length characters with char `fill' and justify it left or right.
- Parameters:
- str - string to format
- length - length of desired string
- left - format left or right
- fill - fill character
- Returns:
- formatted string
printArray
public static final void printArray(PrintStream out,
Object obj[])
printArray
public static final void printArray(PrintWriter out,
Object obj[])
printArray
public static final String printArray(Object obj[])
printArray
public static final String printArray(Object obj[],
boolean braces)
All Packages Class Hierarchy This Package Previous Next Index