public class LocalVariable extends AbstractLValue
LValue.Creation
Modifier and Type | Field and Description |
---|---|
private JavaAnnotatedTypeInstance |
customCreationType |
private boolean |
guessedFinal |
private boolean |
guessedVar |
private Ident |
ident |
private int |
idx |
private NamedVariable |
name |
private int |
originalRawOffset |
Constructor and Description |
---|
LocalVariable(int stackPosition,
Ident ident,
VariableNamer variableNamer,
int originalRawOffset,
boolean clashed,
InferredJavaType inferredJavaType) |
LocalVariable(java.lang.String name,
InferredJavaType inferredJavaType) |
collectLValueUsage, collectTypeUsages, doesBlackListLValueReplacement, dump, dumpWithOuterPrecedence, getInferredJavaType, outerDeepClone, toString, typeToString, validIterator
private final NamedVariable name
private final int idx
private final Ident ident
private boolean guessedFinal
private boolean guessedVar
private final int originalRawOffset
private JavaAnnotatedTypeInstance customCreationType
public LocalVariable(int stackPosition, Ident ident, VariableNamer variableNamer, int originalRawOffset, boolean clashed, InferredJavaType inferredJavaType)
public LocalVariable(java.lang.String name, InferredJavaType inferredJavaType)
public int getOriginalRawOffset()
public int getNumberOfCreators()
public boolean isFinal()
public void markFinal()
public void markVar()
public boolean isVar()
public void setCustomCreationType(JavaAnnotatedTypeInstance customCreationType)
public JavaAnnotatedTypeInstance getAnnotatedCreationType()
getAnnotatedCreationType
in interface LValue
getAnnotatedCreationType
in class AbstractLValue
public LValue deepClone(CloneHelper cloneHelper)
public Precedence getPrecedence()
getPrecedence
in interface DumpableWithPrecedence
getPrecedence
in class AbstractLValue
public Dumper dump(Dumper d, boolean defines)
dump
in interface LValue
dump
in class AbstractLValue
public Dumper dumpInner(Dumper d)
dumpInner
in class AbstractLValue
public NamedVariable getName()
public int getIdx()
public boolean canThrow(ExceptionCheck caught)
canThrow
in interface LValue
canThrow
in class AbstractLValue
public <T> void collectLValueAssignments(Expression assignedTo, StatementContainer<T> statementContainer, LValueAssignmentCollector<T> lValueAssigmentCollector)
public LValue replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
public SSAIdentifiers<LValue> collectVariableMutation(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)
public LValue applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object