|
Jode 1.90-CVS Build Aug 6, 2004 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.jode.decompiler.LocalInfo
The LocalInfo represents a local variable of a method. The problem is that two different local variables may use the same slot. The current strategie is to make the range of a local variable as small as possible.
There may be more than one LocalInfo for a single local variable, because the algorithm begins with totally disjunct variables and then unifies locals. One of the local is then a shadow object which calls the member functions of the other local.
Constructor Summary | |
LocalInfo()
Create a new local info with an anonymous slot. |
|
LocalInfo(MethodAnalyzer method,
int slot)
Create a new local info. |
Method Summary | |
void |
addHint(java.lang.String name,
Type type)
|
void |
combineWith(LocalInfo shadow)
Combines the LocalInfo with another. |
void |
dumpDeclaration(TabbedPrintWriter writer)
|
boolean |
equals(java.lang.Object obj)
|
Expression |
getExpression()
|
LocalInfo |
getLocalInfo()
Get the real LocalInfo. |
MethodAnalyzer |
getMethodAnalyzer()
|
java.lang.String |
getName()
Get the name of this local. |
int |
getSlot()
Get the slot of this local. |
Type |
getType()
Get the type of this local. |
int |
getUseCount()
|
java.lang.String |
guessName()
|
boolean |
hasName()
Returns true if the local already has a name. |
static void |
init()
|
boolean |
isConstant()
|
boolean |
isFinal()
|
boolean |
isNameGenerated()
|
boolean |
isRemoved()
|
boolean |
isShadow()
|
void |
makeNameUnique()
Set the name of this local. |
boolean |
markFinal()
|
void |
remove()
|
void |
setExpression(Expression expr)
|
void |
setName(java.lang.String name)
Set the name of this local. |
void |
setOperator(LocalVarOperator operator)
|
Type |
setType(Type otherType)
Sets a new information about the type of this local. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public LocalInfo()
public LocalInfo(MethodAnalyzer method, int slot)
slot
- The slot of this variable.Method Detail |
public static void init()
public void setOperator(LocalVarOperator operator)
public void addHint(java.lang.String name, Type type)
public int getUseCount()
public void combineWith(LocalInfo shadow)
If this is called with ourself nothing will happen.
public LocalInfo getLocalInfo()
public boolean hasName()
public java.lang.String guessName()
public java.lang.String getName()
getName
in interface Declarable
public boolean isNameGenerated()
public int getSlot()
public void setName(java.lang.String name)
public void makeNameUnique()
makeNameUnique
in interface Declarable
public Type getType()
public Type setType(Type otherType)
public void setExpression(Expression expr)
public Expression getExpression()
public boolean isShadow()
public boolean equals(java.lang.Object obj)
public void remove()
public boolean isRemoved()
public boolean isConstant()
public MethodAnalyzer getMethodAnalyzer()
public boolean markFinal()
public boolean isFinal()
public java.lang.String toString()
public void dumpDeclaration(TabbedPrintWriter writer) throws java.io.IOException
dumpDeclaration
in interface Declarable
java.io.IOException
|
Jode 1.90-CVS Build Aug 6, 2004 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |