ReflWrap
Class ByteCode

java.lang.Object
  extended by ReflWrap.ByteCode

public class ByteCode
extends java.lang.Object

Wrapper around the BCEL


Constructor Summary
ByteCode()
           
 
Method Summary
static java.util.LinkedList<java.lang.String> getMethods(java.lang.String klass)
          Get a list of methods declared in a certain class
static java.util.LinkedList<TypeTree> getParameters(java.lang.String klass, int fid)
          Get a list of parameters a certain function takes
static TypeTree getRetVal(java.lang.String klass, int fid)
          Get the return value of a certain function
private static java.lang.String getSign(org.apache.bcel.classfile.Method m)
          Parse the 'signature' of a method
private static java.util.LinkedList<TypeTree> handleMethod(org.apache.bcel.classfile.Method m)
          Helper function
static boolean matches(java.lang.String str, java.lang.String regexp)
          Check whether a regular expression matches a string
private static java.util.LinkedList<java.lang.String> params(java.lang.String types)
          Helper function
private static java.lang.String retval(java.lang.String returns)
          Helper function
static java.lang.String sed(java.lang.String input, java.lang.String pat, java.lang.String repl)
          Sed-like search-and-replace for Strings
static java.lang.String unclassify(java.lang.String str)
          Convert all fully-qualified names to normal names
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ByteCode

public ByteCode()
Method Detail

sed

public static java.lang.String sed(java.lang.String input,
                                   java.lang.String pat,
                                   java.lang.String repl)
Sed-like search-and-replace for Strings

Parameters:
input - String to work on
pat - Pattern to look for
repl - Replacement
Returns:
Modified string

params

private static java.util.LinkedList<java.lang.String> params(java.lang.String types)
Helper function

Parameters:
types - List of types
Returns:
List of types

retval

private static java.lang.String retval(java.lang.String returns)
Helper function

Parameters:
returns - Return value
Returns:
Return value

matches

public static boolean matches(java.lang.String str,
                              java.lang.String regexp)
Check whether a regular expression matches a string

Parameters:
str - String
regexp - Regular expression
Returns:
True if matching, false if not.

unclassify

public static java.lang.String unclassify(java.lang.String str)
Convert all fully-qualified names to normal names

Parameters:
str - Function declaration
Returns:
Modified function declaration

getMethods

public static java.util.LinkedList<java.lang.String> getMethods(java.lang.String klass)
Get a list of methods declared in a certain class

Parameters:
klass - Fully-qualified class name
Returns:
List of methods

getParameters

public static java.util.LinkedList<TypeTree> getParameters(java.lang.String klass,
                                                           int fid)
Get a list of parameters a certain function takes

Parameters:
klass - Fully-qualified class name
fid - ID of the function
Returns:
List of parameter types

getRetVal

public static TypeTree getRetVal(java.lang.String klass,
                                 int fid)
Get the return value of a certain function

Parameters:
klass - Fully-qualified class name
fid - Function ID
Returns:
Return value type

getSign

private static java.lang.String getSign(org.apache.bcel.classfile.Method m)
Parse the 'signature' of a method

Parameters:
m - Method
Returns:
Parsed signature

handleMethod

private static java.util.LinkedList<TypeTree> handleMethod(org.apache.bcel.classfile.Method m)
Helper function

Parameters:
m - Method
Returns:
List of types