Class NewObjectArray
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractNewArray
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.NewObjectArray
-
- All Implemented Interfaces:
HasByteCodeLoc
,Expression
,DeepCloneable<Expression>
,ComparableUnderEC
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
public class NewObjectArray extends AbstractNewArray
-
-
Field Summary
Fields Modifier and Type Field Description private JavaTypeInstance
allocatedType
private java.util.List<Expression>
dimSizes
private int
numDims
private JavaTypeInstance
resultType
-
Constructor Summary
Constructors Modifier Constructor Description 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)
-
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)
BytecodeLoc
getCombinedLoc()
Expression
getDimSize(int dim)
int
getNumDims()
int
getNumSizedDims()
Expression
replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractNewArray
getPrecedence
-
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
-
dimSizes
private java.util.List<Expression> dimSizes
-
allocatedType
private final JavaTypeInstance allocatedType
-
resultType
private final JavaTypeInstance resultType
-
numDims
private final int numDims
-
-
Constructor Detail
-
NewObjectArray
public NewObjectArray(BytecodeLoc loc, java.util.List<Expression> dimSizes, JavaTypeInstance resultInstance)
-
NewObjectArray
private NewObjectArray(BytecodeLoc loc, InferredJavaType inferredJavaType, JavaTypeInstance resultType, int numDims, JavaTypeInstance allocatedType, java.util.List<Expression> dimSizes)
-
-
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
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInner
in classAbstractExpression
-
getNumDims
public int getNumDims()
- Specified by:
getNumDims
in classAbstractNewArray
-
getNumSizedDims
public int getNumSizedDims()
- Specified by:
getNumSizedDims
in classAbstractNewArray
-
getDimSize
public Expression getDimSize(int dim)
- Specified by:
getDimSize
in classAbstractNewArray
-
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)
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in classAbstractExpression
-
equivalentUnder
public final boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
-
-