Top Description Fields Constructors Methods
javassist.bytecode.analysis

public Class SubroutineScanner

extends Object
implements Opcode
Class Inheritance
All Implemented Interfaces
javassist.bytecode.Opcode
Imports
java.util.HashMap, .HashSet, .Map, .Set, javassist.bytecode.BadBytecode, .CodeAttribute, .CodeIterator, .ExceptionTable, .MethodInfo, .Opcode

Discovers the subroutines in a method, and tracks all callers.
Author
Jason T. Greene

Field Summary

Modifier and TypeField and Description
pack-priv Set<Integer>
private Subroutine[]
pack-priv Map<Integer, Subroutine>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Subroutine[]
scan(MethodInfo method)

private void
scan(int pos, CodeIterator iter, Subroutine sub)

private void
private boolean
scanOp(int pos, CodeIterator iter, Subroutine sub)

private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

doneback to summary
pack-priv Set<Integer> done
subroutinesback to summary
private Subroutine[] subroutines
subTableback to summary
pack-priv Map<Integer, Subroutine> subTable

Constructor Detail

SubroutineScannerback to summary
public SubroutineScanner()

Method Detail

scanback to summary
public Subroutine[] scan(MethodInfo method) throws BadBytecode
scanback to summary
private void scan(int pos, CodeIterator iter, Subroutine sub) throws BadBytecode
scanLookupSwitchback to summary
private void scanLookupSwitch(int pos, CodeIterator iter, Subroutine sub) throws BadBytecode
scanOpback to summary
private boolean scanOp(int pos, CodeIterator iter, Subroutine sub) throws BadBytecode
scanTableSwitchback to summary
private void scanTableSwitch(int pos, CodeIterator iter, Subroutine sub) throws BadBytecode