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 JavaTypeInstanceallocatedTypeprivate java.util.List<Expression>dimSizesprivate intnumDimsprivate JavaTypeInstanceresultType
-
Constructor Summary
Constructors Modifier Constructor Description NewObjectArray(BytecodeLoc loc, java.util.List<Expression> dimSizes, JavaTypeInstance resultInstance)privateNewObjectArray(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 ExpressionapplyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)ExpressionapplyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)voidcollectTypeUsages(TypeUsageCollector collector)voidcollectUsedLValues(LValueUsageCollector lValueUsageCollector)ExpressiondeepClone(CloneHelper cloneHelper)DumperdumpInner(Dumper d)booleanequals(java.lang.Object o)booleanequivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)BytecodeLocgetCombinedLoc()ExpressiongetDimSize(int dim)intgetNumDims()intgetNumSizedDims()ExpressionreplaceSingleUsageLValues(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:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractExpression
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInnerin classAbstractExpression
-
getNumDims
public int getNumDims()
- Specified by:
getNumDimsin classAbstractNewArray
-
getNumSizedDims
public int getNumSizedDims()
- Specified by:
getNumSizedDimsin classAbstractNewArray
-
getDimSize
public Expression getDimSize(int dim)
- Specified by:
getDimSizein 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:
equalsin classAbstractExpression
-
equivalentUnder
public final boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
-
-