Package soot.JastAddJ
Class EnumInstanceExpr
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.Expr
-
- soot.JastAddJ.Access
-
- soot.JastAddJ.ClassInstanceExpr
-
- soot.JastAddJ.EnumInstanceExpr
-
public class EnumInstanceExpr extends ClassInstanceExpr implements Cloneable
-
-
Field Summary
Fields Modifier and Type Field Description protected booleangetAccess_computedprotected AccessgetAccess_valueprotected booleangetArgList_computedprotected List<Expr>getArgList_value-
Fields inherited from class soot.JastAddJ.ClassInstanceExpr
addEnclosingVariables, computeDAbefore_int_Variable_values, computeDUbefore_int_Variable_values, decl_computed, decl_value, decls_computed, decls_value, isDAafterInstance_Variable_values, localLookupType_String_values, type_computed, type_value
-
Fields inherited from class soot.JastAddJ.Access
hasPrevExpr_computed, hasPrevExpr_value, prevExpr_computed, prevExpr_value
-
Fields inherited from class soot.JastAddJ.Expr
false_label_computed, false_label_value, true_label_computed, true_label_value
-
Fields inherited from class soot.JastAddJ.ASTNode
children, generatedWithCacheCycle, generatedWithCircularEnabled, generatedWithComponentCheck, in$Circle, is$Final, numChildren, parent, PRIMITIVE_PACKAGE_NAME, state
-
-
Constructor Summary
Constructors Constructor Description EnumInstanceExpr()EnumInstanceExpr(Opt<TypeDecl> p0)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddArg(Expr node)Append an element to the Arg list.voidaddArgNoTransform(Expr node)EnumInstanceExprclone()EnumInstanceExprcopy()voidflushCache()voidflushCollectionCache()EnumInstanceExprfullCopy()Create a deep copy of the AST subtree at this node.AccessgetAccess()Retrieves the Access child.protected intgetAccessChildPosition()Retrieves the child position of the optional child Access.AccessgetAccessNoTransform()Retrieves the Access child.ExprgetArg(int i)Retrieves the element at indexiin the Arg list..List<Expr>getArgList()Retrieves the Arg list.protected intgetArgListChildPosition()Retrieves the child position of the Arg list.List<Expr>getArgListNoTransform()Retrieves the Arg list.List<Expr>getArgs()Retrieves the Arg list.List<Expr>getArgsNoTransform()Retrieves the Arg list.intgetNumArg()Retrieves the number of children in the Arg list.intgetNumArgNoTransform()Retrieves the number of children in the Arg list.TypeDeclgetTypeDecl()Retrieves the (optional) TypeDecl child.Opt<TypeDecl>getTypeDeclOpt()Opt<TypeDecl>getTypeDeclOptNoTransform()Retrieves the optional node for child TypeDecl.booleanhasTypeDecl()Check whether the optional TypeDecl child exists.voidinit$Children()Initializes the child array to the correct size.booleanmayHaveRewrite()protected intnumChildren()ASTNoderewriteTo()voidsetAccess(Access node)Replaces the Access child.voidsetArg(Expr node, int i)Replaces the Arg list element at indexiwith the new nodenode.voidsetArgList(List<Expr> list)Replaces the Arg list.voidsetTypeDecl(TypeDecl node)Replaces the (optional) TypeDecl child.voidsetTypeDeclOpt(Opt<TypeDecl> opt)Replaces the optional node for the TypeDecl child.-
Methods inherited from class soot.JastAddJ.ClassInstanceExpr
accessControl, addEnclosingVariables, applicableAndAccessible, arity, checkModifiers, collectTypesToSignatures, computeDAbefore, computeDUbefore, decl, decls, Define_boolean_hasPackage, Define_boolean_inStaticContext, Define_boolean_isAnonymous, Define_boolean_isAnonymousDecl, Define_boolean_isDAbefore, Define_boolean_isDUbefore, Define_boolean_isMemberType, Define_ClassInstanceExpr_getClassInstanceExpr, Define_ConstructorDecl_constructorDecl, Define_NameType_nameType, Define_SimpleSet_lookupType, Define_SimpleSet_lookupVariable, Define_TypeDecl_hostType, Define_TypeDecl_superType, enclosingInstance, eval, exceptionHandling, handlesException, inExplicitConstructorInvocation, invokesVariableArityAsArray, isDAafter, isDAafterInstance, isDUafter, isDUafterInstance, keepInnerClasses, localLookupType, nameCheck, noEnclosingInstance, predNameType, qualifiedLookupType, reachedException, refined_NameCheck_ClassInstanceExpr_nameCheck, refined_Transformations_ClassInstanceExpr_transformation, toString, transformation, type, typeCheck, typeCheckAnonymousSuperclassEnclosingInstance, typeCheckEnclosingInstance, typeDeclIndent, typeObject, unknownConstructor, validArgs
-
Methods inherited from class soot.JastAddJ.Access
addArrayDims, addArraySize, emitLoadLocalInNestedClass, emitThis, hasPrevExpr, isDiamond, isQualified, lastAccess, nestedScope, prevExpr, qualifier, substituted, superConstructorQualifier, unknownField, unknownType, unqualifiedScope, withinDeprecatedAnnotation, withinSuppressWarnings
-
Methods inherited from class soot.JastAddJ.Expr
addDependencyIfNeeded, assignConvertedType, canBeFalse, canBeTrue, chooseConstructor, collectTypesToHierarchy, condition_false_label, condition_true_label, constant, emitBooleanCondition, emitEvalBranch, emitStore, enclosingBodyDecl, enclosingStmt, false_label, hasNextAccess, hasPackage, hasParentDot, hasQualifiedPackage, hostPackage, hostType, inExtendsOrImplements, inStaticContext, isArrayAccess, isClassAccess, isConstant, isDAafterFalse, isDAafterTrue, isDAbefore, isDest, isDUafterFalse, isDUafterTrue, isDUbefore, isEnumConstant, isFalse, isFieldAccess, isIncOrDec, isLeftChildOfDot, isMethodAccess, isPackageAccess, isPositive, isRightChildOfDot, isSource, isSuperAccess, isSuperConstructorAccess, isThisAccess, isTrue, isTypeAccess, isUnknown, isVariable, isVariable, keepAccessibleFields, keepAccessibleTypes, lookupMethod, lookupType, lookupType, lookupVariable, mayAccess, methodHost, modifiedInScope, mostSpecific, mostSpecificConstructor, nameType, nextAccess, packageName, parentDot, qualifiedLookupVariable, qualifiesAccess, refined_BooleanExpressions_Expr_emitEvalBranch, representableIn, staticContextQualifier, throwTypes, true_label, typeBoolean, typeByte, typeChar, typeDouble, typeFloat, typeInt, typeLong, typeName, typeNull, typeShort, typeString, typeVoid, varDecl
-
Methods inherited from class soot.JastAddJ.ASTNode
addAttributes, addChild, addsIndentationLevel, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, checkWarnings, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectExceptions, collectFinally, compilationUnit, Define_Annotation_lookupAnnotation, Define_ArrayList_exceptionRanges, Define_ASTNode_enclosingBlock, Define_BodyDecl_enclosingBodyDecl, Define_boolean_enclosedByExceptionHandler, Define_boolean_handlesException, Define_boolean_inExplicitConstructorInvocation, Define_boolean_inExtendsOrImplements, Define_boolean_inhModifiedInScope, Define_boolean_insideLoop, Define_boolean_insideSwitch, Define_boolean_isCatchParam, Define_boolean_isConstructorParameter, Define_boolean_isDest, Define_boolean_isExceptionHandlerParameter, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isIncOrDec, Define_boolean_isLocalClass, Define_boolean_isMethodParameter, Define_boolean_isNestedType, Define_boolean_isSource, Define_boolean_mayBeAbstract, Define_boolean_mayBeFinal, Define_boolean_mayBeNative, Define_boolean_mayBePrivate, Define_boolean_mayBeProtected, Define_boolean_mayBePublic, Define_boolean_mayBeStatic, Define_boolean_mayBeStrictfp, Define_boolean_mayBeSynchronized, Define_boolean_mayBeTransient, Define_boolean_mayBeVolatile, Define_boolean_mayUseAnnotationTarget, Define_boolean_reachable, Define_boolean_reachableCatchClause, Define_boolean_reportUnreachable, Define_boolean_resourcePreviouslyDeclared, Define_boolean_variableArityValid, Define_boolean_withinDeprecatedAnnotation, Define_boolean_withinSuppressWarnings, Define_Case_bind, Define_CatchClause_catchClause, Define_Collection_lookupConstructor, Define_Collection_lookupMethod, Define_Collection_lookupSuperConstructor, Define_Collection_TypeDecl__caughtExceptions, Define_CompilationUnit_compilationUnit, Define_ConstructorDecl_unknownConstructor, Define_ElementValue_lookupElementTypeValue, Define_Expr_nestedScope, Define_GLBType_lookupGLBType, Define_int_localNum, Define_LabeledStmt_lookupLabel, Define_LUBType_lookupLUBType, Define_MethodDecl_unknownMethod, Define_SimpleSet_allImportedTypes, Define_soot_jimple_Stmt_condition_false_label, Define_soot_jimple_Stmt_condition_true_label, Define_String_hostPackage, Define_String_methodHost, Define_String_packageName, Define_String_typeDeclIndent, Define_TypeDecl_assignConvertedType, Define_TypeDecl_componentType, Define_TypeDecl_declType, Define_TypeDecl_enclosingAnnotationDecl, Define_TypeDecl_enclosingInstance, Define_TypeDecl_enclosingType, Define_TypeDecl_expectedType, Define_TypeDecl_genericDecl, Define_TypeDecl_lookupType, Define_TypeDecl_lookupWildcardExtends, Define_TypeDecl_lookupWildcardSuper, Define_TypeDecl_returnType, Define_TypeDecl_switchType, Define_TypeDecl_typeBoolean, Define_TypeDecl_typeByte, Define_TypeDecl_typeChar, Define_TypeDecl_typeCloneable, Define_TypeDecl_typeDouble, Define_TypeDecl_typeError, Define_TypeDecl_typeException, Define_TypeDecl_typeFloat, Define_TypeDecl_typeInt, Define_TypeDecl_typeLong, Define_TypeDecl_typeNull, Define_TypeDecl_typeNullPointerException, Define_TypeDecl_typeObject, Define_TypeDecl_typeRuntimeException, Define_TypeDecl_typeSerializable, Define_TypeDecl_typeShort, Define_TypeDecl_typeString, Define_TypeDecl_typeThrowable, Define_TypeDecl_typeVoid, Define_TypeDecl_typeWildcard, Define_TypeDecl_unknownType, Define_Variable_unknownField, Define_VariableScope_outerScope, definesLabel, definiteAssignment, dumpString, dumpTree, dumpTree, dumpTreeNoRewrite, dumpTreeNoRewrite, duringAnnotations, duringAnonymousClasses, duringBoundNames, duringDU, duringEnums, duringGenericTypeVariables, duringImplicitConstructor, duringLiterals, duringNameResolution, duringSyntacticClassification, duringVariableDeclarationTransformation, emitConstant, end, endExceptionRange, error, errorPrefix, extractIndent, extractSingleType, flushCaches, getChild, getChildNoTransform, getIndexOfChild, getNumChild, getNumChildNoTransform, getParent, in$Circle, in$Circle, indent, insertChild, is$Final, is$Final, isDescendantTo, isStringAdd, iterator, jimplify1phase1, jimplify1phase2, jimplify2, jimplify2, lineNumber, location, newLabel, options, putSimpleSetElement, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, transformEnumConstructors, unassignedEverywhere, usesTypeVariable, varChildIndex, varChildIndex, warning, warningPrefix, with
-
Methods inherited from class beaver.Symbol
getColumn, getEnd, getId, getLine, getStart, makePosition
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classClassInstanceExpr
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classClassInstanceExpr
-
clone
public EnumInstanceExpr clone() throws CloneNotSupportedException
- Overrides:
clonein classClassInstanceExpr- Throws:
CloneNotSupportedException
-
copy
public EnumInstanceExpr copy()
- Overrides:
copyin classClassInstanceExpr
-
fullCopy
public EnumInstanceExpr fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.- Overrides:
fullCopyin classClassInstanceExpr- Returns:
- dangling copy of the subtree at this node
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Childrenin classClassInstanceExpr
-
numChildren
protected int numChildren()
- Overrides:
numChildrenin classClassInstanceExpr
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewritein classClassInstanceExpr
-
setTypeDeclOpt
public void setTypeDeclOpt(Opt<TypeDecl> opt)
Replaces the optional node for the TypeDecl child. This is theOptnode containing the child TypeDecl, not the actual child!- Overrides:
setTypeDeclOptin classClassInstanceExpr- Parameters:
opt- The new node to be used as the optional node for the TypeDecl child.
-
hasTypeDecl
public boolean hasTypeDecl()
Check whether the optional TypeDecl child exists.- Overrides:
hasTypeDeclin classClassInstanceExpr- Returns:
trueif the optional TypeDecl child exists,falseif it does not.
-
getTypeDecl
public TypeDecl getTypeDecl()
Retrieves the (optional) TypeDecl child.- Overrides:
getTypeDeclin classClassInstanceExpr- Returns:
- The TypeDecl child, if it exists. Returns
nullotherwise.
-
setTypeDecl
public void setTypeDecl(TypeDecl node)
Replaces the (optional) TypeDecl child.- Overrides:
setTypeDeclin classClassInstanceExpr- Parameters:
node- The new node to be used as the TypeDecl child.
-
getTypeDeclOpt
public Opt<TypeDecl> getTypeDeclOpt()
- Overrides:
getTypeDeclOptin classClassInstanceExpr
-
getTypeDeclOptNoTransform
public Opt<TypeDecl> getTypeDeclOptNoTransform()
Retrieves the optional node for child TypeDecl. This is theOptnode containing the child TypeDecl, not the actual child!This method does not invoke AST transformations.
- Overrides:
getTypeDeclOptNoTransformin classClassInstanceExpr- Returns:
- The optional node for child TypeDecl.
-
setAccess
public void setAccess(Access node)
Replaces the Access child.- Overrides:
setAccessin classClassInstanceExpr- Parameters:
node- The new node to replace the Access child.
-
getAccessNoTransform
public Access getAccessNoTransform()
Retrieves the Access child.This method does not invoke AST transformations.
- Overrides:
getAccessNoTransformin classClassInstanceExpr- Returns:
- The current node used as the Access child.
-
getAccessChildPosition
protected int getAccessChildPosition()
Retrieves the child position of the optional child Access.- Returns:
- The the child position of the optional child Access.
-
setArgList
public void setArgList(List<Expr> list)
Replaces the Arg list.- Overrides:
setArgListin classClassInstanceExpr- Parameters:
list- The new list node to be used as the Arg list.
-
getNumArg
public int getNumArg()
Retrieves the number of children in the Arg list.- Overrides:
getNumArgin classClassInstanceExpr- Returns:
- Number of children in the Arg list.
-
getNumArgNoTransform
public int getNumArgNoTransform()
Retrieves the number of children in the Arg list. Calling this method will not trigger rewrites..- Overrides:
getNumArgNoTransformin classClassInstanceExpr- Returns:
- Number of children in the Arg list.
-
getArg
public Expr getArg(int i)
Retrieves the element at indexiin the Arg list..- Overrides:
getArgin classClassInstanceExpr- Parameters:
i- Index of the element to return.- Returns:
- The element at position
iin the Arg list.
-
addArg
public void addArg(Expr node)
Append an element to the Arg list.- Overrides:
addArgin classClassInstanceExpr- Parameters:
node- The element to append to the Arg list.
-
addArgNoTransform
public void addArgNoTransform(Expr node)
- Overrides:
addArgNoTransformin classClassInstanceExpr
-
setArg
public void setArg(Expr node, int i)
Replaces the Arg list element at indexiwith the new nodenode.- Overrides:
setArgin classClassInstanceExpr- Parameters:
node- The new node to replace the old list element.i- The list index of the node to be replaced.
-
getArgs
public List<Expr> getArgs()
Retrieves the Arg list.- Overrides:
getArgsin classClassInstanceExpr- Returns:
- The node representing the Arg list.
-
getArgsNoTransform
public List<Expr> getArgsNoTransform()
Retrieves the Arg list.This method does not invoke AST transformations.
- Overrides:
getArgsNoTransformin classClassInstanceExpr- Returns:
- The node representing the Arg list.
-
getArgListNoTransform
public List<Expr> getArgListNoTransform()
Retrieves the Arg list.This method does not invoke AST transformations.
- Overrides:
getArgListNoTransformin classClassInstanceExpr- Returns:
- The node representing the Arg list.
-
getArgListChildPosition
protected int getArgListChildPosition()
Retrieves the child position of the Arg list.- Returns:
- The the child position of the Arg list.
-
getAccess
public Access getAccess()
Description copied from class:ClassInstanceExprRetrieves the Access child.- Overrides:
getAccessin classClassInstanceExpr- Returns:
- The current node used as the Access child.
-
getArgList
public List<Expr> getArgList()
Description copied from class:ClassInstanceExprRetrieves the Arg list.- Overrides:
getArgListin classClassInstanceExpr- Returns:
- The node representing the Arg list.
-
rewriteTo
public ASTNode rewriteTo()
- Overrides:
rewriteToin classClassInstanceExpr
-
-