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 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
-
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()
-
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
-
-