de.rwth.dfa.jvm.samples
Class AbstractSSDependingAbstraction
java.lang.Object
|
+--de.rwth.dfa.jvm.samples.AbstractSSDependingAbstraction
- All Implemented Interfaces:
- Abstraction
- Direct Known Subclasses:
- CPAbstraction
- public abstract class AbstractSSDependingAbstraction
- extends java.lang.Object
- implements Abstraction
An abstract helper class for implementing abstractions where the initial values at
instructions depend on the size of the operand size at this instruction.
When creating an instance of a sub class, the stack size
analysis
is performed.
- Version:
- $Id: AbstractSSDependingAbstraction.java,v 1.4 2002/09/17 06:53:53 mohnen Exp $
- Author:
- Markus Mohnen
Field Summary |
protected de.fub.bytecode.generic.ConstantPoolGen |
cpg
The constant pool generator used for this abstraction. |
protected java.util.Hashtable |
stacksizes
The association between instruction handles and stack sizes. |
Constructor Summary |
AbstractSSDependingAbstraction(int maxStack,
de.fub.bytecode.generic.ConstantPoolGen constantPoolGen,
de.fub.bytecode.generic.InstructionList methodInstrs,
de.fub.bytecode.classfile.CodeException[] methodExceptions)
Creates a new AbstractSSDependingAbstraction instance. |
AbstractSSDependingAbstraction(int maxStack,
de.fub.bytecode.classfile.ConstantPool constantPool,
de.fub.bytecode.generic.InstructionList methodInstrs,
de.fub.bytecode.classfile.CodeException[] methodExceptions)
Creates a new AbstractSSDependingAbstraction instance. |
Method Summary |
de.fub.bytecode.generic.ConstantPoolGen |
getConstantPoolGen()
Returns the constant pool generator used for this abstraction. |
java.lang.Integer |
getStacksize(de.fub.bytecode.generic.InstructionHandle ih)
Returns the stack size for an instruction in a method. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
cpg
protected de.fub.bytecode.generic.ConstantPoolGen cpg
- The constant pool generator used for this abstraction.
stacksizes
protected java.util.Hashtable stacksizes
- The association between instruction handles and stack sizes.
AbstractSSDependingAbstraction
public AbstractSSDependingAbstraction(int maxStack,
de.fub.bytecode.generic.ConstantPoolGen constantPoolGen,
de.fub.bytecode.generic.InstructionList methodInstrs,
de.fub.bytecode.classfile.CodeException[] methodExceptions)
- Creates a new
AbstractSSDependingAbstraction
instance.
- Parameters:
maxStack
- an int
valueconstantPoolGen
- a ConstantPoolGen
valuemethodInstrs
- an InstructionList
valuemethodExceptions
- a CodeException[]
value
AbstractSSDependingAbstraction
public AbstractSSDependingAbstraction(int maxStack,
de.fub.bytecode.classfile.ConstantPool constantPool,
de.fub.bytecode.generic.InstructionList methodInstrs,
de.fub.bytecode.classfile.CodeException[] methodExceptions)
- Creates a new
AbstractSSDependingAbstraction
instance.
- Parameters:
maxStack
- an int
valueconstantPool
- a ConstantPool
valuemethodInstrs
- an InstructionList
valuemethodExceptions
- a CodeException[]
value
getConstantPoolGen
public de.fub.bytecode.generic.ConstantPoolGen getConstantPoolGen()
- Returns the constant pool generator used for this abstraction.
- Returns:
- a
ConstantPoolGen
value
getStacksize
public java.lang.Integer getStacksize(de.fub.bytecode.generic.InstructionHandle ih)
- Returns the stack size for an instruction in a method. For instructions with
undetermined stack size (dead code), the size is -1.
- Parameters:
ih
- an InstructionHandle
value- Returns:
- an
Integer
value