Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV NEXT
FRAMES
NO FRAMES
All Classes
A
B
C
D
E
F
G
H
I
J
K
L
M
O
P
Q
R
S
T
U
V
W
X
A
abort()
- Method in class org.jxcl.cl.
ClassTransformer
Abort the class transformation.
above(Directed)
- Method in class org.jxcl.graph.
Vertex
Is the graph a parent, grandparent of this vertex?
add(CodeVertex)
- Method in class org.jxcl.cl.
SortedBlocks
Add a vertex at its bytecode position.
add(int, Edge)
- Method in class org.jxcl.cl.
SortedBlocks
Add a vertex at bytecode offset pos along edge e.
addClassXformer(ClassXformer)
- Method in class org.jxcl.cl.
JXClassLoader
Add a class transformer.
addDelegated(String)
- Method in class org.jxcl.cl.
JXClassLoader
Add a class name prefix to the list of those to be delegated to the parent.
addExcluded(String)
- Method in class org.jxcl.cl.
JXClassLoader
Add a class name prefix to the list of those to be excluded from instrumentation.
addGraphXformer(GraphXformer)
- Method in class org.jxcl.cl.
JXClassLoader
Add a graph transformer.
addIncluded(String)
- Method in class org.jxcl.cl.
JXClassLoader
Add a class name prefix to the list of those to be instrumented.
addJXRegistry(String)
- Method in class org.jxcl.cl.
JXClassLoader
Add a new JXRegistry to the list.
addMethodXformer(MethodXformer)
- Method in class org.jxcl.cl.
JXClassLoader
Add a method transformer.
addPath(URL)
- Method in class org.jxcl.cl.
JXClassLoader
Add a path to the class loader's classpath.
anotherEdge(Edge)
- Method in class org.jxcl.graph.
Directed
Step edge count.
anotherVertex(Vertex)
- Method in class org.jxcl.graph.
Directed
Step count of vertices .
B
BinaryConnector
- class org.jxcl.graph.
BinaryConnector
.
A Connector holding two edges.
BinaryConnector(Edge, Edge)
- Constructor for class org.jxcl.graph.
BinaryConnector
BinaryConnector(Connector, Edge)
- Constructor for class org.jxcl.graph.
BinaryConnector
BytecodeCollector
- class org.jxcl.cl.
BytecodeCollector
.
Collects the bytecode for a method while walking the method control flow graph.
BytecodeCollector()
- Constructor for class org.jxcl.cl.
BytecodeCollector
No-arg constructor.
C
CEGSpy
- class org.jxcl.cl.
CEGSpy
.
Dump the method's exception handler table before and after graph processing.
CEGSpy()
- Constructor for class org.jxcl.cl.
CEGSpy
CLASSPATH_DELIM_CHAR
- Static variable in class org.jxcl.cl.
JXClassLoader
CLASSPATH_DELIM_STR
- Static variable in class org.jxcl.cl.
JXClassLoader
CatchData
- class org.jxcl.cl.
CatchData
.
Data structure describing an exception handler.
CatchData(Vertex, Vertex, Vertex, ObjectType)
- Constructor for class org.jxcl.cl.
CatchData
The information needed to set up an exception handler.
ClassFactory
- class org.jxcl.cl.
ClassFactory
.
Class synthesizer.
ClassPath
- class org.jxcl.cl.
ClassPath
.
Facility for converting a colon-delimited classpath into a URL array.
ClassPath(String)
- Constructor for class org.jxcl.cl.
ClassPath
ClassTransformer
- class org.jxcl.cl.
ClassTransformer
.
Transform a JavaClass, if there are any class, method, or graph transformers.
ClassTransformer(List, List, List)
- Constructor for class org.jxcl.cl.
ClassTransformer
Creates class transformer and lower-level transformers.
ClassXformer
- interface org.jxcl.cl.
ClassXformer
.
Application-specific pre- and post-processors for JXCL classes.
CodeVertex
- class org.jxcl.cl.
CodeVertex
.
A Vertex extended to carry the initial bytecode offset, line number, and an instruction list.
CodeVertex(ControlFlowGraph)
- Constructor for class org.jxcl.cl.
CodeVertex
Create a code vertex with default bytecode offset, line number, empty instruction list, and no label.
CodeVertex(ControlFlowGraph, int)
- Constructor for class org.jxcl.cl.
CodeVertex
Create a code vertex, specifying a non-negative bytecode offset.
CodeVertex(ControlFlowGraph, String)
- Constructor for class org.jxcl.cl.
CodeVertex
Create a code vertex, specifying a label
ComplexConnector
- class org.jxcl.graph.
ComplexConnector
.
A Connector holding a single edge plus a fixed size array of edges.
ComplexConnector(Edge, int)
- Constructor for class org.jxcl.graph.
ComplexConnector
Constructor for a Connector with a single edge plus a fixed-size array of edges.
ComplexConnector(Connector, int)
- Constructor for class org.jxcl.graph.
ComplexConnector
Connector
- class org.jxcl.graph.
Connector
.
Connector holding one or more edges.
Connector()
- Constructor for class org.jxcl.graph.
Connector
ControlFlowGraph
- class org.jxcl.cl.
ControlFlowGraph
.
Directed graph extended for use in analyzing method instruction lists.
ControlFlowGraph()
- Constructor for class org.jxcl.cl.
ControlFlowGraph
Create a new top level control flow graph.
ControlFlowGraph(ControlFlowGraph)
- Constructor for class org.jxcl.cl.
ControlFlowGraph
Create a control flow graph without connecting it to this parent graph but sharing protected data structures.
checkForNull(Object, String)
- Static method in class org.jxcl.graph.
Directed
checkForNull(Object, String)
- Static method in class org.jxcl.graph.
Edge
checkForNull(Object, String)
- Static method in class org.jxcl.graph.
Vertex
Throw an exception if the argument is null.
classFileName(String)
- Static method in class org.jxcl.cl.
JXClassLoader
Convert a class name into a relative path name by replacing dots with forward slashes and appending ".class".
clear()
- Method in class org.jxcl.reg.
Registry
Remove all elements from the registry.
closestEntry(Directed)
- Method in class org.jxcl.graph.
Directed
If the edge points towards a vertex in a graph which is enclosed within the current graph, return a reference to the closest Entry.
collapseGraph(ControlFlowGraph)
- Method in class org.jxcl.cl.
GraphTransformer
Collapse a method control flow graph, writing bytecode back into the MethodGen data structures.
connInst_
- Variable in class org.jxcl.cl.
CodeVertex
Instruction connecting this vertex to other(s).
connectSubgraph(Directed, Edge, int)
- Static method in class org.jxcl.graph.
Directed
Inserts a subgraph into an edge, putting the entry and exit points on the edge presented.
connector
- Variable in class org.jxcl.graph.
Vertex
Connects this vertex to one or more other vertices.
containsKey(String[])
- Method in class org.jxcl.reg.
Registry
cxf
- Variable in class org.jxcl.reg.
JXRegistry
List of class transformers associated with this registry.
D
DELEGATED
- Static variable in class org.jxcl.cl.
JXClassLoader
Names of classes which must be loaded by the parent.
Directed
- class org.jxcl.graph.
Directed
.
A graph consisting of vertices connected by directed, weighted edges.
Directed()
- Constructor for class org.jxcl.graph.
Directed
Builds a root directed graph with two vertices and two edges.
Directed(Directed)
- Constructor for class org.jxcl.graph.
Directed
Subgraph constructor; will have depth one more than parent.
discoverEdge(Edge)
- Method in class org.jxcl.cl.
BytecodeCollector
Action taken upon first encountering an edge.
discoverEdge(Edge)
- Method in class org.jxcl.cl.
GraphTalker
discoverEdge(Edge)
- Method in interface org.jxcl.graph.
Visitor
Called when initially visiting edge.
discoverGraph(Directed)
- Method in class org.jxcl.cl.
BytecodeCollector
Action taken upon beginning to visit the graph.
discoverGraph(Directed)
- Method in class org.jxcl.cl.
GraphTalker
discoverGraph(Directed)
- Method in interface org.jxcl.graph.
Visitor
Called at beginning of visiting a graph or subgraph.
discoverVertex(Vertex)
- Method in class org.jxcl.cl.
BytecodeCollector
Action taken upon beginning to visit a graph vertex.
discoverVertex(Vertex)
- Method in class org.jxcl.cl.
GraphTalker
discoverVertex(Vertex)
- Method in interface org.jxcl.graph.
Visitor
Called when beginning visit to vertex.
E
Edge
- class org.jxcl.graph.
Edge
.
An edge in a JXCL graph.
Edge(Vertex, Vertex)
- Constructor for class org.jxcl.graph.
Edge
An edge in a directed graph.
Edge(Edge)
- Constructor for class org.jxcl.graph.
Edge
Copy constructor.
Entry
- class org.jxcl.graph.
Entry
.
The entry vertex in a directed graph.
Entry(Directed)
- Constructor for class org.jxcl.graph.
Entry
Exit
- class org.jxcl.graph.
Exit
.
An exit vertex in a directed graph.
Exit(Directed)
- Constructor for class org.jxcl.graph.
Exit
Constructor for the exit vertex for a JXCL directed graph.
endHandles
- Variable in class org.jxcl.cl.
ControlFlowGraph
Key code vertex, value handle on last instruction.
endLine_
- Variable in class org.jxcl.cl.
CodeVertex
Line number in source code corresponding to the connecting instruction, or if there is no such instruction, to the last instruction in the block
exception
- Variable in class org.jxcl.cl.
CatchData
Type of exception handled.
exists(int)
- Method in class org.jxcl.cl.
SortedBlocks
Does a vertex exist with this bytecode offset?
F
FILE_PATH_DELIM_CHAR
- Static variable in class org.jxcl.cl.
JXClassLoader
Operating system specific
FILE_PATH_DELIM_STR
- Static variable in class org.jxcl.cl.
JXClassLoader
find(int, ControlFlowGraph, Edge)
- Method in class org.jxcl.cl.
SortedBlocks
Find or create a code vertex starting at a given position.
findClass(String)
- Method in class org.jxcl.cl.
JXClassLoader
Locate the class whose name is passed and define it.
finishEdge(Edge)
- Method in class org.jxcl.cl.
BytecodeCollector
Action taken before departing an edge.
finishEdge(Edge)
- Method in class org.jxcl.cl.
GraphTalker
finishEdge(Edge)
- Method in interface org.jxcl.graph.
Visitor
Called at end of visit to edge.
finishGraph(Directed)
- Method in class org.jxcl.cl.
BytecodeCollector
Finish the graph by fixing up JSRs.
finishGraph(Directed)
- Method in class org.jxcl.cl.
GraphTalker
finishGraph(Directed)
- Method in interface org.jxcl.graph.
Visitor
Called at end of visiting a graph or subgraph.
finishVertex(Vertex)
- Method in class org.jxcl.cl.
BytecodeCollector
Action taken before leaving a vertex in the graph.
finishVertex(Vertex)
- Method in class org.jxcl.cl.
GraphTalker
finishVertex(Vertex)
- Method in interface org.jxcl.graph.
Visitor
Called at end of vertex visit.
G
GraphBuildException
- exception org.jxcl.cl.
GraphBuildException
.
An exception that occurs while building a control flow graph for a method.
GraphBuildException()
- Constructor for class org.jxcl.cl.
GraphBuildException
GraphBuildException(String)
- Constructor for class org.jxcl.cl.
GraphBuildException
GraphBuildException(String, Throwable)
- Constructor for class org.jxcl.cl.
GraphBuildException
GraphBuildException(Throwable)
- Constructor for class org.jxcl.cl.
GraphBuildException
GraphSpy
- class org.jxcl.cl.
GraphSpy
.
Makes the control flow graph available to a wider audience.
GraphSpy()
- Constructor for class org.jxcl.cl.
GraphSpy
GraphTalker
- class org.jxcl.cl.
GraphTalker
.
Walks through a control flow graph, displaying information about each vertex and edge.
GraphTalker()
- Constructor for class org.jxcl.cl.
GraphTalker
GraphTransformer
- class org.jxcl.cl.
GraphTransformer
.
Build the control flow graph for a method, apply an arbitrary number of GraphXformers to it, and then collapse the graph back to an instruction list.
GraphTransformer(List)
- Constructor for class org.jxcl.cl.
GraphTransformer
Creates method control flow graphs, applies application- specific transforms, and then collapses the graph to produce a new instruction list.
GraphXformer
- interface org.jxcl.cl.
GraphXformer
.
Transform the graph, possibly using information from ClassGen and MethodGen.
get(int)
- Method in class org.jxcl.cl.
SortedBlocks
Find the code vertex starting at a given bytecode offset.
get(String[])
- Method in class org.jxcl.reg.
Registry
Get an object from the registry.
getCEGs(CatchData[])
- Method in class org.jxcl.cl.
BytecodeCollector
Given an array of exception handler descriptions, return an array of CodeExceptionGen.
getCatchCount()
- Method in class org.jxcl.cl.
ControlFlowGraph
getCatchData()
- Method in class org.jxcl.cl.
TryStacks
Return an array of CatchData, with vertices for the beginning and end of the try block, a vertex for the handler, and the exception handled.
getClassData(String)
- Method in class org.jxcl.cl.
JXClassLoader
Find a class along the class path and load it as a byte array.
getClassHash()
- Method in class org.jxcl.cl.
ClassTransformer
getClassPath()
- Method in class org.jxcl.cl.
JXClassLoader
getComparator()
- Method in class org.jxcl.cl.
TryStacks
Return the class TryStack uses to sort exception handlers.
getConnInst()
- Method in class org.jxcl.cl.
CodeVertex
Get connecting instruction.
getConnector()
- Method in class org.jxcl.graph.
Entry
getConnector()
- Method in class org.jxcl.graph.
Exit
Get the connection, back to the entry vertex in a top-level graph.
getConnector()
- Method in class org.jxcl.graph.
Vertex
getDelegated()
- Method in class org.jxcl.cl.
JXClassLoader
getDepth()
- Method in class org.jxcl.graph.
Directed
getEdge()
- Method in class org.jxcl.graph.
BinaryConnector
Get the preferred edge.
getEdge()
- Method in class org.jxcl.graph.
ComplexConnector
Get the single edge.
getEdge(int)
- Method in class org.jxcl.graph.
ComplexConnector
Get the Nth edge from the array.
getEdge()
- Method in class org.jxcl.graph.
Connector
Get the outgoing edge.
getEdge()
- Method in class org.jxcl.graph.
Entry
getEdge()
- Method in class org.jxcl.graph.
Exit
Get the outgoing edge.
getEdge()
- Method in class org.jxcl.graph.
MultiConnector
getEdge(int)
- Method in class org.jxcl.graph.
MultiConnector
getEdge()
- Method in class org.jxcl.graph.
UnaryConnector
Get the edge.
getEdge()
- Method in class org.jxcl.graph.
Vertex
getEndHandles()
- Method in class org.jxcl.cl.
ControlFlowGraph
Get a reference to the map of handles on last instructions.
getEndLine()
- Method in class org.jxcl.cl.
CodeVertex
Get the line number in source code corresponding to the connecting instruction or last instruction in the block.
getEntry()
- Method in class org.jxcl.graph.
Directed
getExceptionHandlers()
- Method in class org.jxcl.cl.
GraphTransformer
Returns array of exception handlers, empty if the instruction list was null or there were no exception handlers.
getExcluded()
- Method in class org.jxcl.cl.
JXClassLoader
getExit()
- Method in class org.jxcl.graph.
Directed
getGotoFixMeUps()
- Method in class org.jxcl.cl.
ControlFlowGraph
Get a reference to the source/target vertex map where the connecting instruction is a GotoInstruction.
getGraph()
- Method in class org.jxcl.graph.
Edge
getGraph()
- Method in class org.jxcl.graph.
Vertex
Get the graph this vertex is in.
getHasFinally()
- Method in class org.jxcl.cl.
ControlFlowGraph
Does this subgraph have a finally clause?
getIncluded()
- Method in class org.jxcl.cl.
JXClassLoader
getIndex()
- Method in class org.jxcl.graph.
Directed
getIndex()
- Method in class org.jxcl.graph.
Vertex
getInstance()
- Static method in class org.jxcl.cl.
ClassFactory
Use this method to get to the ClassFactory singleton.
getInstructionList()
- Method in class org.jxcl.cl.
BytecodeCollector
Get the instruction list after completing walking the graph, that is, after calling visit.
getInstructionList()
- Method in class org.jxcl.cl.
CodeVertex
Get a reference to the InstructionList carried by the vertex.
getInstructionList()
- Method in class org.jxcl.cl.
ControlFlowGraph
Get a reference to the instruction list built while walking the graph.
getLabel()
- Method in class org.jxcl.graph.
Vertex
getMethodHash()
- Method in class org.jxcl.cl.
MethodTransformer
Get a reference to the hash used to share data between this and other transformers.
getName()
- Method in class org.jxcl.cl.
CEGSpy
Get the report name for method processor.
getName()
- Method in interface org.jxcl.cl.
ClassXformer
Get the preprocessor's report name.
getName()
- Static method in class org.jxcl.cl.
GraphSpy
getName()
- Static method in class org.jxcl.cl.
GraphTalker
getName()
- Method in class org.jxcl.cl.
IListSpy
Get the report name for method processor.
getName()
- Method in interface org.jxcl.cl.
MethodXformer
Get the report name for method processor.
getOtherEdge()
- Method in class org.jxcl.graph.
BinaryConnector
Get the other edge.
getOtherTarget()
- Method in class org.jxcl.graph.
BinaryConnector
Get the target of the other edge
getParent()
- Method in class org.jxcl.graph.
Directed
getPosition()
- Method in class org.jxcl.cl.
CodeVertex
Get the bytecode offset of the first instruction.
getRegistry(String)
- Method in class org.jxcl.cl.
JXClassLoader
Get a reference to a JXCL registry.
getReport()
- Method in class org.jxcl.cl.
JXClassLoader
Get reports from any or all registries.
getReport()
- Method in class org.jxcl.reg.
JXRegistry
Dumps the registry in a form appropriate to the application.
getResourceAsStream(String)
- Method in class org.jxcl.cl.
ClassFactory
Get the bytecode for a synthesized class.
getSource()
- Method in class org.jxcl.graph.
Edge
getStartHandles()
- Method in class org.jxcl.cl.
ControlFlowGraph
Get a reference to the map of handles on first instructions.
getStartLine()
- Method in class org.jxcl.cl.
CodeVertex
Get the source code line number of the first instruction in a code vertex.
getSynthEnabled()
- Method in class org.jxcl.cl.
JXClassLoader
Get synthesizing-enabled flag.
getSynthPrefix()
- Method in class org.jxcl.cl.
JXClassLoader
getTarget()
- Method in class org.jxcl.graph.
BinaryConnector
Get the target of the preferred edge.
getTarget()
- Method in class org.jxcl.graph.
ComplexConnector
Get the target of the single edge.
getTarget(int)
- Method in class org.jxcl.graph.
ComplexConnector
Get the target of the Nth edge.
getTarget()
- Method in class org.jxcl.graph.
Connector
Get the target of the preferred edge.
getTarget()
- Method in class org.jxcl.graph.
Edge
getTarget()
- Method in class org.jxcl.graph.
Entry
getTarget()
- Method in class org.jxcl.graph.
Exit
Get its target.
getTarget()
- Method in class org.jxcl.graph.
MultiConnector
getTarget(int)
- Method in class org.jxcl.graph.
MultiConnector
getTarget()
- Method in class org.jxcl.graph.
UnaryConnector
Get the target of the connection.
getTarget()
- Method in class org.jxcl.graph.
Vertex
getTheGraph()
- Static method in class org.jxcl.cl.
GraphSpy
getURLs()
- Method in class org.jxcl.cl.
ClassPath
gotoFixMeUps
- Variable in class org.jxcl.cl.
ControlFlowGraph
Key source vertex, value target vertex where connecting instruction is GotoInstruction.
graph
- Variable in class org.jxcl.graph.
Vertex
The graph this vertex belongs to.
graphIndex
- Static variable in class org.jxcl.graph.
Directed
Index of most recently built graph.
gxf
- Variable in class org.jxcl.reg.
JXRegistry
List of graph transformers associated with this registry.
H
handlerPC
- Variable in class org.jxcl.cl.
CatchData
First code vertex in handler.
hasInbound(InstructionHandle)
- Static method in class org.jxcl.cl.
GraphTransformer
Whether this instruction is target of branch instruction or starts catch block.
I
IListSpy
- class org.jxcl.cl.
IListSpy
.
Dump the method's instruction list before and after graph processing.
IListSpy()
- Constructor for class org.jxcl.cl.
IListSpy
ilist
- Variable in class org.jxcl.cl.
CodeVertex
the bytecode iteself
ilist
- Variable in class org.jxcl.cl.
ControlFlowGraph
Instruction list built in walking the graph.
index
- Variable in class org.jxcl.graph.
Vertex
Unique non-negative assigned to the Vertex; -1 means 'unassigned'
insert(Vertex)
- Method in class org.jxcl.graph.
Edge
Insert a vertex with a UnaryConnector into an edge.
insertCodeVertex(Edge)
- Method in class org.jxcl.cl.
ControlFlowGraph
Insert a code vertex along an edge, retargeting the edge to the vertex inserted.
insertCodeVertex(CodeVertex, Edge)
- Method in class org.jxcl.cl.
ControlFlowGraph
Insert a pre-existing CodeVertex along an edge.
insertVertex(Vertex, Edge)
- Method in class org.jxcl.graph.
Directed
Insert a (new) Vertex into the graph along the edge provided.
insertVertex(Edge)
- Method in class org.jxcl.graph.
Directed
Create a new Vertex with a Unary connector and insert into this graph's edge e.
isEmpty()
- Method in class org.jxcl.reg.
Registry
J
JXCLException
- exception org.jxcl.exception.
JXCLException
.
A superclass for all exceptions that can be thrown by JXCL.
JXCLException()
- Constructor for class org.jxcl.exception.
JXCLException
JXCLException(String)
- Constructor for class org.jxcl.exception.
JXCLException
JXClassLoader
- class org.jxcl.cl.
JXClassLoader
.
Transforming class loader.
JXClassLoader(URL[], String[])
- Constructor for class org.jxcl.cl.
JXClassLoader
Constructor with abbreviated argument list.
JXClassLoader(URL[], ClassLoader, String[], String[], String[])
- Constructor for class org.jxcl.cl.
JXClassLoader
Constructor with full argument list.
JXIC
- class org.jxcl.
JXIC
.
A stub guaranteed to be loaded by JXClassLoader.
JXIC(int, int[])
- Constructor for class org.jxcl.
JXIC
JXRegistry
- class org.jxcl.reg.
JXRegistry
.
A registry for use by JXCL class loaders.
JXRegistry(JXClassLoader)
- Constructor for class org.jxcl.reg.
JXRegistry
jsrFixMeUps
- Variable in class org.jxcl.cl.
ControlFlowGraph
Handles on jsr instructions in this graph.
K
keySet()
- Method in class org.jxcl.reg.
Registry
XXX An overly powerful method.
L
label_
- Variable in class org.jxcl.graph.
Vertex
Optional label.
loadClass(String)
- Method in class org.jxcl.cl.
JXClassLoader
Class loader.
M
MethodTransformer
- class org.jxcl.cl.
MethodTransformer
.
Optionally preprocesses a method, optionally transforms its control flow graph, optionally postprocesses it.
MethodTransformer(List, List)
- Constructor for class org.jxcl.cl.
MethodTransformer
Sets up method transformer, saving MethodXformer vector here and passing GraphXformer vector to that transformer.
MethodXformer
- interface org.jxcl.cl.
MethodXformer
.
Process a MethodGen method before and after graph creation and manipulation.
MultiConnector
- class org.jxcl.graph.
MultiConnector
.
A Connector holding a array of edges, where the array has at least one member.
MultiConnector(Edge, int)
- Constructor for class org.jxcl.graph.
MultiConnector
Constructor for fixed-size array of edges.
MultiConnector(Connector, int)
- Constructor for class org.jxcl.graph.
MultiConnector
Constructor initialized from an existing UnaryConnector.
makeBinary()
- Method in class org.jxcl.graph.
Vertex
Convert the existing connector to a BinaryConnector.
makeBinaryFlowThrough()
- Method in class org.jxcl.graph.
Vertex
Convert an existing unary connector to binary, moving the existing edge to the 'other' position.
makeClass(String, String)
- Method in class org.jxcl.cl.
ClassFactory
Generate a class with a single no-arg constructor and a runTest method.
makeComplex(int)
- Method in class org.jxcl.graph.
Vertex
Convert the exiting connector to a ComplexConnector, using the existing Edge as seed.
makeConstructor(ClassGen)
- Method in class org.jxcl.cl.
ClassFactory
Creates the constructor for the synthesized class.
makeGraph(ClassGen, MethodGen)
- Method in class org.jxcl.cl.
GraphTransformer
Build the graph for the method.
makeMethod(ClassGen)
- Method in class org.jxcl.cl.
ClassFactory
Creates a method with bytecode determined by the name of the class.
makeMulti(int)
- Method in class org.jxcl.graph.
Vertex
Convert the exiting connector to a MultiConnector, using the existing Edge as seed.
makePublic(ClassGen)
- Static method in class org.jxcl.cl.
ClassTransformer
Make the class public.
mgDefault(ClassGen)
- Method in class org.jxcl.cl.
ClassFactory
Generates bytecode for a method which simply returns 2.
mgIfThen(ClassGen)
- Method in class org.jxcl.cl.
ClassFactory
Generates instructions for a method consisting of a single if-then clause.
mgNPENoCatch(ClassGen)
- Method in class org.jxcl.cl.
ClassFactory
Creates bytecode which will throw a NullPointerException without a catch block.
mgNPEWithCatch(ClassGen)
- Method in class org.jxcl.cl.
ClassFactory
Returns bytecode which will throw a NullPointerException, but it will catch the NPE.
mgSelect(ClassGen)
- Method in class org.jxcl.cl.
ClassFactory
Generates bytecode for a switch statement:
mgWhile(ClassGen)
- Method in class org.jxcl.cl.
ClassFactory
Generates code for a while loop.
moveGoto(CodeVertex)
- Method in class org.jxcl.cl.
CodeVertex
Move this code vertex's Goto to another code vertex.
mxf
- Variable in class org.jxcl.reg.
JXRegistry
List of method transformers associated with this registry.
O
org.jxcl
- package org.jxcl
org.jxcl.cl
- package org.jxcl.cl
org.jxcl.exception
- package org.jxcl.exception
org.jxcl.graph
- package org.jxcl.graph
org.jxcl.reg
- package org.jxcl.reg
P
pos
- Variable in class org.jxcl.cl.
CodeVertex
initial offset of first instruction in bytecode
postGraph(ClassGen, MethodGen)
- Method in class org.jxcl.cl.
CEGSpy
Process method after graph generation and manipulation is complete.
postGraph(ClassGen, MethodGen)
- Method in class org.jxcl.cl.
IListSpy
Process method after graph generation and manipulation is complete.
postGraph(ClassGen, MethodGen)
- Method in interface org.jxcl.cl.
MethodXformer
Process method after graph generation and manipulation is complete.
postMethods(ClassGen)
- Method in interface org.jxcl.cl.
ClassXformer
Postprocessor applied to the class after looking at methods.
preGraph(ClassGen, MethodGen)
- Method in class org.jxcl.cl.
CEGSpy
Apply processing to method before graph is generated.
preGraph(ClassGen, MethodGen)
- Method in class org.jxcl.cl.
IListSpy
Apply processing to method before graph is generated.
preGraph(ClassGen, MethodGen)
- Method in interface org.jxcl.cl.
MethodXformer
Apply processing to method before graph is generated.
preMethods(ClassGen)
- Method in interface org.jxcl.cl.
ClassXformer
Preprocessor applied to the class before looking at methods.
put(String[], Object)
- Method in class org.jxcl.reg.
Registry
Add an object to the registry, overwriting any existing value.
Q
qcl_
- Variable in class org.jxcl.reg.
JXRegistry
The JXCL class loader using this registry.
R
Registry
- class org.jxcl.reg.
Registry
.
A registry for storing JXCL run-time options.
Registry()
- Constructor for class org.jxcl.reg.
Registry
No-arg constructor.
RunTest
- interface org.jxcl.cl.
RunTest
.
Interface implemented by all classes synthesized by ClassFactory.
regMap
- Variable in class org.jxcl.cl.
JXClassLoader
Map of registries by String name.
remove(String[])
- Method in class org.jxcl.reg.
Registry
Remove an item from the registry.
reset()
- Method in class org.jxcl.reg.
JXRegistry
Resets items in the registry in an application-specific manner.
runTest(int)
- Method in interface org.jxcl.cl.
RunTest
Standard test method.
S
SYNTH_PREFIX
- Static variable in class org.jxcl.cl.
JXClassLoader
Prefix indicating that the class should be synthesized.
SortedBlocks
- class org.jxcl.cl.
SortedBlocks
.
Manages an index into the bytecode vertices in a method's control flow graph.
SortedBlocks()
- Constructor for class org.jxcl.cl.
SortedBlocks
Creates an empty map.
setCatchCount(int)
- Method in class org.jxcl.cl.
ControlFlowGraph
Set the number of catch blocks in a subgraph
setClassPath(String)
- Method in class org.jxcl.cl.
JXClassLoader
Convert classpath in normal form to URL[] and sets loader classpath to the corresponding value.
setClassTransformer(ClassTransformer)
- Method in interface org.jxcl.cl.
ClassXformer
setConnInst(Instruction)
- Method in class org.jxcl.cl.
CodeVertex
Set the connecting instruction for this vertex.
setConnector(Connector)
- Method in class org.jxcl.graph.
Vertex
setEndLine(int)
- Method in class org.jxcl.cl.
CodeVertex
Set the source line number of the connecting instruction, or of the last line number in the block if there is no connecting instruction.
setExcluded(String)
- Method in class org.jxcl.cl.
JXClassLoader
Sets the list of classes to be excluded from instrumentation.
setHasFinally(boolean)
- Method in class org.jxcl.cl.
ControlFlowGraph
Whether this subgraph has a finally clause.
setIncluded(String)
- Method in class org.jxcl.cl.
JXClassLoader
Sets the list of classes to be instrumented.
setLabel(String)
- Method in class org.jxcl.graph.
Vertex
Assign a label to the Vertex.
setName(String)
- Method in class org.jxcl.cl.
CEGSpy
Assign a name to the method processor.
setName(String)
- Method in interface org.jxcl.cl.
ClassXformer
Set the preprocessor's name for reports.
setName(String)
- Static method in class org.jxcl.cl.
GraphSpy
setName(String)
- Static method in class org.jxcl.cl.
GraphTalker
setName(String)
- Method in class org.jxcl.cl.
IListSpy
Assign a name to the method processor.
setName(String)
- Method in interface org.jxcl.cl.
MethodXformer
Assign a name to the method processor.
setOtherTarget(Vertex)
- Method in class org.jxcl.graph.
BinaryConnector
Set the target of the other edge.
setPos(int)
- Method in class org.jxcl.cl.
CodeVertex
Set the bytecode offset for the first instruction.
setSource(Vertex)
- Method in class org.jxcl.graph.
Edge
setStartLine(int)
- Method in class org.jxcl.cl.
CodeVertex
Set the source code line number.
setSynthEnabled(boolean)
- Method in class org.jxcl.cl.
JXClassLoader
Enable class synthesizing.
setTarget(Vertex)
- Method in class org.jxcl.graph.
BinaryConnector
Change the target of the preferred edge.
setTarget(Vertex)
- Method in class org.jxcl.graph.
ComplexConnector
Change the target of the single edge.
setTarget(Vertex, int)
- Method in class org.jxcl.graph.
ComplexConnector
Change the target of the Nth edge.
setTarget(Vertex)
- Method in class org.jxcl.graph.
Connector
Set the target of the connector's preferred edge.
setTarget(Vertex)
- Method in class org.jxcl.graph.
Edge
Change the target of this edge.
setTarget(Vertex)
- Method in class org.jxcl.graph.
Entry
setTarget(Vertex)
- Method in class org.jxcl.graph.
Exit
Set its target.
setTarget(Vertex)
- Method in class org.jxcl.graph.
MultiConnector
setTarget(Vertex, int)
- Method in class org.jxcl.graph.
MultiConnector
setTarget(Vertex)
- Method in class org.jxcl.graph.
UnaryConnector
Set the target of the connection.
setTransformers()
- Method in class org.jxcl.reg.
JXRegistry
Attaches transformers to the class loader; classes extending this class should call in the constructor after setting up the lists.
size()
- Method in class org.jxcl.cl.
SortedBlocks
How many code vertices are currently in the index?
size()
- Method in class org.jxcl.graph.
BinaryConnector
size()
- Method in class org.jxcl.graph.
ComplexConnector
Returns the number of edges in the connector EXCLUDING the preferred edge.
size()
- Method in class org.jxcl.graph.
Connector
Returns total number of edges in the connector.
size()
- Method in class org.jxcl.graph.
Directed
size()
- Method in class org.jxcl.graph.
MultiConnector
size()
- Method in class org.jxcl.graph.
UnaryConnector
size()
- Method in class org.jxcl.reg.
Registry
source_
- Variable in class org.jxcl.graph.
Edge
splitClassName(String)
- Method in class org.jxcl.reg.
Registry
Convert a class or method name into a String array.
startHandles
- Variable in class org.jxcl.cl.
ControlFlowGraph
Key code vertex, value handle on first instruction.
startLine_
- Variable in class org.jxcl.cl.
CodeVertex
Line number in source code corresponding to first instruction, or if there is no such instruction, of the connecting instruction.
subgraph(Edge, int)
- Method in class org.jxcl.cl.
ControlFlowGraph
Create a control flow graph, connecting it to this graph as its parent by inserting it along the directed edge e (the Entry first, followed by the subgraph Exit.
subgraph(Edge, int)
- Method in class org.jxcl.graph.
Directed
Constructs a subgraph and inserts it into the parent graph on the edge presented.
T
TryStacks
- class org.jxcl.cl.
TryStacks
.
Manages try/catch blocks.
TryStacks(CodeExceptionGen[], SortedBlocks, ControlFlowGraph)
- Constructor for class org.jxcl.cl.
TryStacks
Constructor setting up try/catch arrays.
target_
- Variable in class org.jxcl.graph.
Edge
theGraph
- Static variable in class org.jxcl.cl.
GraphSpy
toString()
- Method in class org.jxcl.cl.
CodeVertex
Less verbose
toString.
toString(boolean)
- Method in class org.jxcl.cl.
CodeVertex
Optionally more verbose method.
toString()
- Method in class org.jxcl.cl.
SortedBlocks
Standard toString(), XXX needs some work.
toString()
- Method in class org.jxcl.cl.
TryStacks
toString()
- Method in class org.jxcl.graph.
Edge
toString()
- Method in class org.jxcl.graph.
Entry
toString()
- Method in class org.jxcl.graph.
Exit
toString()
- Method in class org.jxcl.graph.
Vertex
tryEnd
- Variable in class org.jxcl.cl.
CatchData
Last code Vertex in try block.
tryStart
- Variable in class org.jxcl.cl.
CatchData
First code vertex in try block.
U
UnaryConnector
- class org.jxcl.graph.
UnaryConnector
.
A Connector holding a single edge.
UnaryConnector(Edge)
- Constructor for class org.jxcl.graph.
UnaryConnector
urlsToString()
- Method in class org.jxcl.cl.
JXClassLoader
V
Vertex
- class org.jxcl.graph.
Vertex
.
A vertex in a directed graph.
Vertex()
- Constructor for class org.jxcl.graph.
Vertex
Creates a vertex without an index and belonging to no graph.
Vertex(Directed)
- Constructor for class org.jxcl.graph.
Vertex
Creates a vertex belonging to a graph, assigns an index unique within this graph.
Visitor
- interface org.jxcl.graph.
Visitor
.
Methods for visiting a JXCL directed graph.
version
- Variable in class org.jxcl.
JXIC
visit(Directed, Visitor)
- Method in class org.jxcl.graph.
Walker
Walk through the entire graph.
W
Walker
- class org.jxcl.graph.
Walker
.
Walks a Visitor through a JXCL directed graph, visiting each vertex and edge once and only once.
Walker()
- Constructor for class org.jxcl.graph.
Walker
No-arg constructor.
X
xform(JavaClass)
- Method in class org.jxcl.cl.
ClassTransformer
xform(ClassGen, MethodGen, ControlFlowGraph)
- Method in class org.jxcl.cl.
GraphSpy
xform(ClassGen, MethodGen, ControlFlowGraph)
- Method in class org.jxcl.cl.
GraphTalker
xform(ClassGen, MethodGen)
- Method in class org.jxcl.cl.
GraphTransformer
Build a control flow graph for a method's instruction list, apply any transformers to it, and collapse the graph into a new instruction list.
xform(ClassGen, MethodGen, ControlFlowGraph)
- Method in interface org.jxcl.cl.
GraphXformer
Apply the transformation to the graph.
xform(ClassGen, Method)
- Method in class org.jxcl.cl.
MethodTransformer
Transform a specific method, first applying preprocessors, then transforming the graph, then applying method postprocessors.
xformer
- Variable in class org.jxcl.cl.
JXClassLoader
Responsible for instrumenting classes.
A
B
C
D
E
F
G
H
I
J
K
L
M
O
P
Q
R
S
T
U
V
W
X
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV NEXT
FRAMES
NO FRAMES
All Classes