Class ArrayLength
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.ArrayLength
-
- All Implemented Interfaces:
HasByteCodeLoc
,Expression
,DeepCloneable<Expression>
,ComparableUnderEC
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
public class ArrayLength extends AbstractExpression
-
-
Field Summary
Fields Modifier and Type Field Description private Expression
array
private JavaTypeInstance
constructionType
-
Constructor Summary
Constructors Constructor Description ArrayLength(BytecodeLoc loc, Expression array)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
Expression
applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
void
collectTypeUsages(TypeUsageCollector collector)
void
collectUsedLValues(LValueUsageCollector lValueUsageCollector)
Expression
deepClone(CloneHelper cloneHelper)
Dumper
dumpInner(Dumper d)
boolean
equals(java.lang.Object o)
boolean
equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
Expression
getArray()
BytecodeLoc
getCombinedLoc()
Precedence
getPrecedence()
Expression
replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString, visit
-
-
-
-
Field Detail
-
array
private Expression array
-
constructionType
private JavaTypeInstance constructionType
-
-
Constructor Detail
-
ArrayLength
public ArrayLength(BytecodeLoc loc, Expression array)
-
-
Method Detail
-
getCombinedLoc
public BytecodeLoc getCombinedLoc()
-
deepClone
public Expression deepClone(CloneHelper cloneHelper)
-
collectTypeUsages
public void collectTypeUsages(TypeUsageCollector collector)
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
- Overrides:
collectTypeUsages
in classAbstractExpression
-
getPrecedence
public Precedence getPrecedence()
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractExpression
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInner
in classAbstractExpression
-
replaceSingleUsageLValues
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
applyExpressionRewriter
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
applyReverseExpressionRewriter
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
collectUsedLValues
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
-
getArray
public Expression getArray()
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in classAbstractExpression
-
equivalentUnder
public final boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
-
-