public class NewObjectArray extends AbstractNewArray
Modifier and Type | Field and Description |
---|---|
private JavaTypeInstance |
allocatedType |
private java.util.List<Expression> |
dimSizes |
private int |
numDims |
private JavaTypeInstance |
resultType |
Modifier | Constructor and Description |
---|---|
private |
NewObjectArray(BytecodeLoc loc,
InferredJavaType inferredJavaType,
JavaTypeInstance resultType,
int numDims,
JavaTypeInstance allocatedType,
java.util.List<Expression> dimSizes) |
|
NewObjectArray(BytecodeLoc loc,
java.util.List<Expression> dimSizes,
JavaTypeInstance resultInstance) |
Modifier and Type | Method and 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) |
BytecodeLoc |
getCombinedLoc() |
Expression |
getDimSize(int dim) |
int |
getNumDims() |
int |
getNumSizedDims() |
Expression |
replaceSingleUsageLValues(LValueRewriter lValueRewriter,
SSAIdentifiers ssaIdentifiers,
StatementContainer statementContainer) |
getPrecedence
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString, visit
private java.util.List<Expression> dimSizes
private final JavaTypeInstance allocatedType
private final JavaTypeInstance resultType
private final int numDims
public NewObjectArray(BytecodeLoc loc, java.util.List<Expression> dimSizes, JavaTypeInstance resultInstance)
private NewObjectArray(BytecodeLoc loc, InferredJavaType inferredJavaType, JavaTypeInstance resultType, int numDims, JavaTypeInstance allocatedType, java.util.List<Expression> dimSizes)
public BytecodeLoc getCombinedLoc()
public Expression deepClone(CloneHelper cloneHelper)
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages
in interface TypeUsageCollectable
collectTypeUsages
in class AbstractExpression
public Dumper dumpInner(Dumper d)
dumpInner
in class AbstractExpression
public int getNumDims()
getNumDims
in class AbstractNewArray
public int getNumSizedDims()
getNumSizedDims
in class AbstractNewArray
public Expression getDimSize(int dim)
getDimSize
in class AbstractNewArray
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
public boolean equals(java.lang.Object o)
equals
in class AbstractExpression
public final boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)