Package kilim.analysis
Class Frame
- java.lang.Object
-
- kilim.analysis.Frame
-
public class Frame extends java.lang.ObjectAn activation frame.
-
-
Constructor Summary
Constructors Modifier Constructor Description Frame(int nLocals, int nStack)privateFrame(int nLocals, int nStack, boolean init)Frame(java.lang.String classDesc, org.objectweb.asm.tree.MethodNode method)privateFrame(Value[] alocals, Value[] astack, int astacklen, int aNumMonitorsActive)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleancheckType(java.lang.String desc)(package private) voidclearStack()Framedup()static Value[]dupArray(Value[] a)booleanequals(java.lang.Object other)ValuegetLocal(int local)ValuegetLocal(int local, int opcode)intgetMaxLocals()ValuegetStack(int pos)intgetStackLen()inthashCode()Framemerge(Detector det, Frame inframe, boolean localsOnly, Usage usage)Merge the local variables and stack from the incoming frame into the current frame.Valuepop()voidpopn(int n)ValuepopWord()Valuepush(Value v)intsetLocal(int local, Value v)java.lang.StringtoString()
-
-
-
Method Detail
-
merge
public Frame merge(Detector det, Frame inframe, boolean localsOnly, Usage usage)
Merge the local variables and stack from the incoming frame into the current frame.- Parameters:
inframe- -- incoming framelocalsOnly- -- true for exception handlers, because the stack is cleared.usage- -- Only those locals are merged that are deemed live (@see Usage#isLiveIn(int))- Returns:
- this, if the merge didn't change anything or a new Frame if the operation changed a slot on the stack or a local variable
-
dup
public Frame dup()
-
checkType
private boolean checkType(java.lang.String desc)
-
setLocal
public int setLocal(int local, Value v)
-
getLocal
public Value getLocal(int local, int opcode)
-
getLocal
public Value getLocal(int local)
-
getStack
public Value getStack(int pos)
-
pop
public Value pop()
-
popWord
public Value popWord()
-
popn
public void popn(int n)
-
clearStack
void clearStack()
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getMaxLocals
public int getMaxLocals()
-
getStackLen
public int getStackLen()
-
-