public class ArrayIndex extends AbstractExpression implements BoxingProcessor
| Modifier and Type | Field and Description |
|---|---|
private Expression |
array |
private Expression |
index |
| Modifier | Constructor and Description |
|---|---|
|
ArrayIndex(BytecodeLoc loc,
Expression array,
Expression index) |
private |
ArrayIndex(BytecodeLoc loc,
InferredJavaType inferredJavaType,
Expression array,
Expression index) |
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString, visitprivate Expression array
private Expression index
public ArrayIndex(BytecodeLoc loc, Expression array, Expression index)
private ArrayIndex(BytecodeLoc loc, InferredJavaType inferredJavaType, Expression array, Expression index)
public BytecodeLoc getCombinedLoc()
getCombinedLoc in interface HasByteCodeLocpublic void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablecollectTypeUsages in class AbstractExpressionpublic Expression deepClone(CloneHelper cloneHelper)
deepClone in interface DeepCloneable<Expression>public Precedence getPrecedence()
getPrecedence in interface DumpableWithPrecedencegetPrecedence in class AbstractExpressionpublic Dumper dumpInner(Dumper d)
dumpInner in class AbstractExpressionpublic Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
replaceSingleUsageLValues in interface Expressionpublic boolean doesBlackListLValueReplacement(LValue replace, Expression with)
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyExpressionRewriter in interface Expressionpublic Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyReverseExpressionRewriter in interface Expressionpublic void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
collectUsedLValues in interface Expressionpublic Expression getArray()
public Expression getIndex()
public boolean equals(java.lang.Object o)
equals in class AbstractExpressionpublic boolean equivalentUnder(java.lang.Object o,
EquivalenceConstraint constraint)
equivalentUnder in interface ExpressionequivalentUnder in interface ComparableUnderECpublic boolean rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter)
rewriteBoxing in interface BoxingProcessorpublic void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyNonArgExpressionRewriter in interface BoxingProcessor