Class ArrayVariable
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
-
- org.benf.cfr.reader.bytecode.analysis.parse.lvalue.ArrayVariable
-
- All Implemented Interfaces:
LValue
,DeepCloneable<LValue>
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
public class ArrayVariable 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 ArrayIndex
arrayIndex
-
Constructor Summary
Constructors Constructor Description ArrayVariable(ArrayIndex arrayIndex)
-
Method Summary
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
canThrow, dump, dump, dumpWithOuterPrecedence, getAnnotatedCreationType, getInferredJavaType, isFakeIgnored, outerDeepClone, toString, typeToString
-
-
-
-
Field Detail
-
arrayIndex
private ArrayIndex arrayIndex
-
-
Constructor Detail
-
ArrayVariable
public ArrayVariable(ArrayIndex arrayIndex)
-
-
Method Detail
-
markFinal
public void markFinal()
-
isFinal
public boolean isFinal()
-
markVar
public void markVar()
-
isVar
public boolean isVar()
-
validIterator
public boolean validIterator()
- Specified by:
validIterator
in interfaceLValue
- Overrides:
validIterator
in classAbstractLValue
-
deepClone
public LValue deepClone(CloneHelper cloneHelper)
-
collectTypeUsages
public void collectTypeUsages(TypeUsageCollector collector)
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
- Overrides:
collectTypeUsages
in classAbstractLValue
-
collectLValueUsage
public void collectLValueUsage(LValueUsageCollector lValueUsageCollector)
- Specified by:
collectLValueUsage
in interfaceLValue
- Overrides:
collectLValueUsage
in classAbstractLValue
-
doesBlackListLValueReplacement
public boolean doesBlackListLValueReplacement(LValue replace, Expression with)
- Specified by:
doesBlackListLValueReplacement
in interfaceLValue
- Overrides:
doesBlackListLValueReplacement
in classAbstractLValue
-
getNumberOfCreators
public int getNumberOfCreators()
-
getPrecedence
public Precedence getPrecedence()
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractLValue
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInner
in classAbstractLValue
-
getArrayIndex
public ArrayIndex getArrayIndex()
-
collectLValueAssignments
public void collectLValueAssignments(Expression assignedTo, StatementContainer statementContainer, LValueAssignmentCollector lValueAssigmentCollector)
-
replaceSingleUsageLValues
public LValue replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
applyExpressionRewriter
public LValue applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
collectVariableMutation
public SSAIdentifiers<LValue> collectVariableMutation(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
-