Class ArrayCreation
- java.lang.Object
 - 
- org.checkerframework.dataflow.expression.JavaExpression
 - 
- org.checkerframework.dataflow.expression.ArrayCreation
 
 
 
- 
public class ArrayCreation extends JavaExpression
JavaExpression for array creations.new String[](). 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected java.util.List<@Nullable JavaExpression>dimensionsList of dimensions expressions.protected java.util.List<JavaExpression>initializersList of initializers.- 
Fields inherited from class org.checkerframework.dataflow.expression.JavaExpression
type 
 - 
 
- 
Constructor Summary
Constructors Constructor Description ArrayCreation(javax.lang.model.type.TypeMirror type, java.util.List<@Nullable JavaExpression> dimensions, java.util.List<JavaExpression> initializers)Creates an ArrayCreation object. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,P>
Raccept(JavaExpressionVisitor<R,P> visitor, P p)Accept method of the visitor pattern.booleancontainsOfClass(java.lang.Class<? extends JavaExpression> clazz)booleancontainsSyntacticEqualJavaExpression(JavaExpression other)Returns true if and only if this contains a JavaExpression that is syntactically equal toother.booleanequals(@Nullable java.lang.Object obj)java.util.List<@Nullable JavaExpression>getDimensions()Returns a list representing the dimensions of this array creation.java.util.List<JavaExpression>getInitializers()inthashCode()booleanisDeterministic(AnnotationProvider provider)Returns true if the expression is deterministic.booleanisUnassignableByOtherCode()Returns true if and only if the value this expression stands for cannot be changed (with respect to ==) by a method call.booleanisUnmodifiableByOtherCode()Returns true if and only if the value this expression stands for cannot be changed by a method call, including changes to any of its fields.booleansyntacticEquals(JavaExpression je)Returns true if and only if the two Java expressions are syntactically identical.java.lang.StringtoString()java.lang.StringtoStringDebug()Format this verbosely, for debugging.- 
Methods inherited from class org.checkerframework.dataflow.expression.JavaExpression
atConstructorInvocation, atFieldAccess, atMethodBody, atMethodInvocation, atMethodInvocation, containsModifiableAliasOf, containsUnknown, fromArrayAccess, fromNode, fromNodeFieldAccess, fromTree, fromVariableTree, getFormalParameters, getImplicitReceiver, getParametersAsLocalVariables, getPseudoReceiver, getReceiver, getType, listContainsSyntacticEqualJavaExpression, listIsDeterministic, syntacticEqualsList 
 - 
 
 - 
 
- 
- 
Field Detail
- 
dimensions
protected final java.util.List<@Nullable JavaExpression> dimensions
List of dimensions expressions. A {code null} element means that there is no dimension expression for the given array level. 
- 
initializers
protected final java.util.List<JavaExpression> initializers
List of initializers. 
 - 
 
- 
Constructor Detail
- 
ArrayCreation
public ArrayCreation(javax.lang.model.type.TypeMirror type, java.util.List<@Nullable JavaExpression> dimensions, java.util.List<JavaExpression> initializers)Creates an ArrayCreation object.- Parameters:
 type- array typedimensions- list of dimension expressions; a {code null} element means that there is no dimension expression for the given array level.initializers- list of initializer expressions
 
 - 
 
- 
Method Detail
- 
getDimensions
public java.util.List<@Nullable JavaExpression> getDimensions()
Returns a list representing the dimensions of this array creation. A {code null} element means that there is no dimension expression for the given array level.- Returns:
 - a list representing the dimensions of this array creation
 
 
- 
getInitializers
public java.util.List<JavaExpression> getInitializers()
 
- 
containsOfClass
public boolean containsOfClass(java.lang.Class<? extends JavaExpression> clazz)
- Specified by:
 containsOfClassin classJavaExpression
 
- 
isDeterministic
public boolean isDeterministic(AnnotationProvider provider)
Description copied from class:JavaExpressionReturns true if the expression is deterministic.- Specified by:
 isDeterministicin classJavaExpression- Parameters:
 provider- an annotation provider (a type factory)- Returns:
 - true if this expression is deterministic
 
 
- 
isUnassignableByOtherCode
public boolean isUnassignableByOtherCode()
Description copied from class:JavaExpressionReturns true if and only if the value this expression stands for cannot be changed (with respect to ==) by a method call. This is the case for local variables, the self reference, final field accesses whose receiver isJavaExpression.isUnassignableByOtherCode(), and operations whose operands are allJavaExpression.isUnmodifiableByOtherCode().- Specified by:
 isUnassignableByOtherCodein classJavaExpression- See Also:
 JavaExpression.isUnmodifiableByOtherCode()
 
- 
isUnmodifiableByOtherCode
public boolean isUnmodifiableByOtherCode()
Description copied from class:JavaExpressionReturns true if and only if the value this expression stands for cannot be changed by a method call, including changes to any of its fields.Approximately, this returns true if the expression is
JavaExpression.isUnassignableByOtherCode()and its type is immutable.- Specified by:
 isUnmodifiableByOtherCodein classJavaExpression- See Also:
 JavaExpression.isUnassignableByOtherCode()
 
- 
hashCode
public int hashCode()
- Overrides:
 hashCodein classjava.lang.Object
 
- 
equals
public boolean equals(@Nullable java.lang.Object obj)
- Overrides:
 equalsin classjava.lang.Object
 
- 
syntacticEquals
public boolean syntacticEquals(JavaExpression je)
Description copied from class:JavaExpressionReturns true if and only if the two Java expressions are syntactically identical.This exists for use by
JavaExpression.containsSyntacticEqualJavaExpression(org.checkerframework.dataflow.expression.JavaExpression).- Specified by:
 syntacticEqualsin classJavaExpression- Parameters:
 je- the other Java expression to compare to this one- Returns:
 - true if and only if the two Java expressions are syntactically identical
 
 
- 
containsSyntacticEqualJavaExpression
public boolean containsSyntacticEqualJavaExpression(JavaExpression other)
Description copied from class:JavaExpressionReturns true if and only if this contains a JavaExpression that is syntactically equal toother.- Specified by:
 containsSyntacticEqualJavaExpressionin classJavaExpression- Parameters:
 other- the JavaExpression to search for- Returns:
 - true if and only if this contains a JavaExpression that is syntactically equal to
     
other 
 
- 
toString
public java.lang.String toString()
- Overrides:
 toStringin classjava.lang.Object
 
- 
toStringDebug
public java.lang.String toStringDebug()
Description copied from class:JavaExpressionFormat this verbosely, for debugging.- Overrides:
 toStringDebugin classJavaExpression- Returns:
 - a verbose string representation of this
 
 
- 
accept
public <R,P> R accept(JavaExpressionVisitor<R,P> visitor, P p)
Description copied from class:JavaExpressionAccept method of the visitor pattern.- Specified by:
 acceptin classJavaExpression- Type Parameters:
 R- result type of the operationP- parameter type- Parameters:
 visitor- the visitor to be applied to this JavaExpressionp- the parameter for this operation- Returns:
 - the result of visiting this
 
 
 - 
 
 -