Class LocalVariable
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
-
- org.benf.cfr.reader.bytecode.analysis.parse.lvalue.LocalVariable
-
- All Implemented Interfaces:
LValue
,DeepCloneable<LValue>
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
public class LocalVariable extends AbstractLValue
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.LValue
LValue.Creation
-
-
Field Summary
Fields Modifier and Type Field Description private JavaAnnotatedTypeInstance
customCreationType
private boolean
guessedFinal
private boolean
guessedVar
private Ident
ident
private int
idx
private boolean
ignored
private NamedVariable
name
private int
originalRawOffset
-
Constructor Summary
Constructors Constructor Description LocalVariable(int stackPosition, Ident ident, VariableNamer variableNamer, int originalRawOffset, boolean clashed, InferredJavaType inferredJavaType)
LocalVariable(java.lang.String name, InferredJavaType inferredJavaType)
-
Method Summary
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
collectLValueUsage, collectTypeUsages, doesBlackListLValueReplacement, dump, dumpWithOuterPrecedence, getInferredJavaType, outerDeepClone, toString, typeToString, validIterator
-
-
-
-
Field Detail
-
name
private final NamedVariable name
-
idx
private final int idx
-
ident
private final Ident ident
-
guessedFinal
private boolean guessedFinal
-
guessedVar
private boolean guessedVar
-
ignored
private boolean ignored
-
originalRawOffset
private final int originalRawOffset
-
customCreationType
private JavaAnnotatedTypeInstance customCreationType
-
-
Constructor Detail
-
LocalVariable
public LocalVariable(int stackPosition, Ident ident, VariableNamer variableNamer, int originalRawOffset, boolean clashed, InferredJavaType inferredJavaType)
-
LocalVariable
public LocalVariable(java.lang.String name, InferredJavaType inferredJavaType)
-
-
Method Detail
-
getOriginalRawOffset
public int getOriginalRawOffset()
-
getNumberOfCreators
public int getNumberOfCreators()
-
isFinal
public boolean isFinal()
-
markFinal
public void markFinal()
-
markVar
public void markVar()
-
markIgnored
public void markIgnored()
-
isFakeIgnored
public boolean isFakeIgnored()
- Specified by:
isFakeIgnored
in interfaceLValue
- Overrides:
isFakeIgnored
in classAbstractLValue
-
isVar
public boolean isVar()
-
setCustomCreationType
public void setCustomCreationType(JavaAnnotatedTypeInstance customCreationType)
-
getAnnotatedCreationType
public JavaAnnotatedTypeInstance getAnnotatedCreationType()
- Specified by:
getAnnotatedCreationType
in interfaceLValue
- Overrides:
getAnnotatedCreationType
in classAbstractLValue
-
deepClone
public LValue deepClone(CloneHelper cloneHelper)
-
getPrecedence
public Precedence getPrecedence()
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractLValue
-
dump
public Dumper dump(Dumper d, boolean defines)
- Specified by:
dump
in interfaceLValue
- Overrides:
dump
in classAbstractLValue
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInner
in classAbstractLValue
-
getName
public NamedVariable getName()
-
getIdx
public int getIdx()
-
canThrow
public boolean canThrow(ExceptionCheck caught)
- Specified by:
canThrow
in interfaceLValue
- Overrides:
canThrow
in classAbstractLValue
-
collectLValueAssignments
public <T> void collectLValueAssignments(Expression assignedTo, StatementContainer<T> statementContainer, LValueAssignmentCollector<T> lValueAssigmentCollector)
-
replaceSingleUsageLValues
public LValue replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
collectVariableMutation
public SSAIdentifiers<LValue> collectVariableMutation(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)
-
applyExpressionRewriter
public LValue applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-