de.rwth.dfa.jvm.samples
Class LVAnalyser
java.lang.Object
|
+--de.rwth.utils.AbstractClassProcessor
|
+--de.rwth.dfa.jvm.samples.AbstractAnalyser
|
+--de.rwth.dfa.jvm.samples.LVAnalyser
- public class LVAnalyser
- extends AbstractAnalyser
An application for finding live variables in the local variables at each
instruction of all methods of a class file.
- Version:
- $Id: LVAnalyser.java,v 1.2 2002/09/17 06:53:53 mohnen Exp $
- Author:
- Markus Mohnen
|
Constructor Summary |
LVAnalyser(java.lang.String[] args)
Creates a new LVAnalyser instance. |
|
Method Summary |
Abstraction |
getAbstraction(de.fub.bytecode.classfile.Method method,
de.fub.bytecode.classfile.Code code,
de.fub.bytecode.classfile.CodeException[] methodExceptions,
de.fub.bytecode.generic.InstructionList instrs)
Returns a LVAbstraction for a method. |
Solver[] |
getSolvers(Abstraction abstraction,
java.lang.String methodName,
de.fub.bytecode.generic.InstructionList methodInstrs,
de.fub.bytecode.classfile.CodeException[] methodExceptions,
Stopwatch stopwatch)
Returns two groups of solvers: FlowGraphSolver, BasicBlockGraphSolver, and FactorisedFlowGraphSolver, FactorisedBasicBlockGraphSolver. |
static void |
main(java.lang.String[] args)
Program entry point. |
void |
process(de.fub.bytecode.classfile.Method method,
java.lang.String filename)
Does additional statistics in addition to AbstractAnalyser.process(Method,String). |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LVAnalyser
public LVAnalyser(java.lang.String[] args)
- Creates a new
LVAnalyser instance.
- Parameters:
args - a String[] value- See Also:
AbstractAnalyser
main
public static void main(java.lang.String[] args)
- Program entry point.
- Parameters:
args - a String[] value- See Also:
AbstractAnalyser
getAbstraction
public Abstraction getAbstraction(de.fub.bytecode.classfile.Method method,
de.fub.bytecode.classfile.Code code,
de.fub.bytecode.classfile.CodeException[] methodExceptions,
de.fub.bytecode.generic.InstructionList instrs)
- Returns a
LVAbstraction for a method.
- Overrides:
getAbstraction in class AbstractAnalyser
- Parameters:
method - a Method valuecode - a Code valuemethodExceptions - a CodeException[] valueinstrs - an InstructionList value- Returns:
- an
Abstraction value
getSolvers
public Solver[] getSolvers(Abstraction abstraction,
java.lang.String methodName,
de.fub.bytecode.generic.InstructionList methodInstrs,
de.fub.bytecode.classfile.CodeException[] methodExceptions,
Stopwatch stopwatch)
- Returns two groups of solvers:
FlowGraphSolver, BasicBlockGraphSolver, and FactorisedFlowGraphSolver, FactorisedBasicBlockGraphSolver.
- Overrides:
getSolvers in class AbstractAnalyser
- Parameters:
abstraction - an Abstraction valuemethodName - a String valuemethodInstrs - an InstructionList valuemethodExceptions - a CodeException[] valuestopwatch - a Stopwatch value- Returns:
- a
Solver[] value
process
public void process(de.fub.bytecode.classfile.Method method,
java.lang.String filename)
- Does additional statistics in addition to
AbstractAnalyser.process(Method,String).
- Overrides:
process in class AbstractAnalyser
- Parameters:
method - a Method valuefilename - a String value