Package soot.JastAddJ
Class VarDeclStmt
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.Stmt
-
- soot.JastAddJ.VarDeclStmt
-
-
Field Summary
Fields Modifier and Type Field Description protected booleancanCompleteNormally_computedprotected booleancanCompleteNormally_value-
Fields inherited from class soot.JastAddJ.Stmt
isDAafter_Variable_values, isDUafter_Variable_values, localNum_computed, localNum_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 VarDeclStmt()VarDeclStmt(Modifiers p0, Access p1, List<VariableDecl> p2)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddVariableDecl(VariableDecl node)Append an element to the VariableDecl list.voidaddVariableDeclNoTransform(VariableDecl node)booleancanCompleteNormally()VarDeclStmtclone()VarDeclStmtcopy()NameTypeDefine_NameType_nameType(ASTNode caller, ASTNode child)TypeDeclDefine_TypeDecl_declType(ASTNode caller, ASTNode child)voidflushCache()voidflushCollectionCache()VarDeclStmtfullCopy()Create a deep copy of the AST subtree at this node.ModifiersgetModifiers()Retrieves the Modifiers child.ModifiersgetModifiersNoTransform()Retrieves the Modifiers child.intgetNumVariableDecl()Retrieves the number of children in the VariableDecl list.intgetNumVariableDeclNoTransform()Retrieves the number of children in the VariableDecl list.AccessgetTypeAccess()Retrieves the TypeAccess child.AccessgetTypeAccessNoTransform()Retrieves the TypeAccess child.VariableDeclgetVariableDecl(int i)Retrieves the element at indexiin the VariableDecl list..List<VariableDecl>getVariableDeclList()Retrieves the VariableDecl list.List<VariableDecl>getVariableDeclListNoTransform()Retrieves the VariableDecl list.List<VariableDecl>getVariableDecls()Retrieves the VariableDecl list.List<VariableDecl>getVariableDeclsNoTransform()Retrieves the VariableDecl list.voidinit$Children()Initializes the child array to the correct size.booleanmayHaveRewrite()booleanmodifiedInScope(Variable var)protected intnumChildren()ASTNoderewriteTo()voidsetModifiers(Modifiers node)Replaces the Modifiers child.voidsetTypeAccess(Access node)Replaces the TypeAccess child.voidsetVariableDecl(VariableDecl node, int i)Replaces the VariableDecl list element at indexiwith the new nodenode.voidsetVariableDeclList(List<VariableDecl> list)Replaces the VariableDecl list.-
Methods inherited from class soot.JastAddJ.Stmt
addsIndentationLevel, break_label, continue_label, continueLabel, declaresVariable, Define_String_typeDeclIndent, enclosingBodyDecl, hostType, isDAafter, isDAbefore, isDUafter, isDUbefore, jimplify2, localNum, lookupMethod, lookupType, lookupType, lookupVariable, reachable, reportUnreachable
-
Methods inherited from class soot.JastAddJ.ASTNode
accessControl, addAttributes, addChild, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, checkWarnings, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectExceptions, collectFinally, collectTypesToHierarchy, collectTypesToSignatures, compilationUnit, Define_Annotation_lookupAnnotation, Define_ArrayList_exceptionRanges, Define_ASTNode_enclosingBlock, Define_BodyDecl_enclosingBodyDecl, Define_boolean_enclosedByExceptionHandler, Define_boolean_handlesException, Define_boolean_hasPackage, Define_boolean_inExplicitConstructorInvocation, Define_boolean_inExtendsOrImplements, Define_boolean_inhModifiedInScope, Define_boolean_insideLoop, Define_boolean_insideSwitch, Define_boolean_inStaticContext, Define_boolean_isAnonymous, Define_boolean_isAnonymousDecl, Define_boolean_isCatchParam, Define_boolean_isConstructorParameter, Define_boolean_isDAbefore, Define_boolean_isDest, Define_boolean_isDUbefore, Define_boolean_isExceptionHandlerParameter, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isIncOrDec, Define_boolean_isLocalClass, Define_boolean_isMemberType, 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_ClassInstanceExpr_getClassInstanceExpr, Define_Collection_lookupConstructor, Define_Collection_lookupMethod, Define_Collection_lookupSuperConstructor, Define_Collection_TypeDecl__caughtExceptions, Define_CompilationUnit_compilationUnit, Define_ConstructorDecl_constructorDecl, 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_SimpleSet_lookupType, Define_SimpleSet_lookupVariable, Define_soot_jimple_Stmt_condition_false_label, Define_soot_jimple_Stmt_condition_true_label, Define_String_hostPackage, Define_String_methodHost, Define_String_packageName, Define_TypeDecl_assignConvertedType, Define_TypeDecl_componentType, Define_TypeDecl_enclosingAnnotationDecl, Define_TypeDecl_enclosingInstance, Define_TypeDecl_enclosingType, Define_TypeDecl_expectedType, Define_TypeDecl_genericDecl, Define_TypeDecl_hostType, Define_TypeDecl_lookupType, Define_TypeDecl_lookupWildcardExtends, Define_TypeDecl_lookupWildcardSuper, Define_TypeDecl_returnType, Define_TypeDecl_superType, 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, exceptionHandling, 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, lineNumber, location, nameCheck, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, toString, transformation, transformEnumConstructors, typeCheck, 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
-
-
-
-
Constructor Detail
-
VarDeclStmt
public VarDeclStmt()
-
VarDeclStmt
public VarDeclStmt(Modifiers p0, Access p1, List<VariableDecl> p2)
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classStmt
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classStmt
-
clone
public VarDeclStmt clone() throws CloneNotSupportedException
- Overrides:
clonein classStmt- Throws:
CloneNotSupportedException
-
copy
public VarDeclStmt copy()
-
fullCopy
public VarDeclStmt fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Childrenin classStmt
-
numChildren
protected int numChildren()
- Overrides:
numChildrenin classStmt
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewritein classStmt
-
setModifiers
public void setModifiers(Modifiers node)
Replaces the Modifiers child.- Parameters:
node- The new node to replace the Modifiers child.
-
getModifiers
public Modifiers getModifiers()
Retrieves the Modifiers child.- Returns:
- The current node used as the Modifiers child.
-
getModifiersNoTransform
public Modifiers getModifiersNoTransform()
Retrieves the Modifiers child.This method does not invoke AST transformations.
- Returns:
- The current node used as the Modifiers child.
-
setTypeAccess
public void setTypeAccess(Access node)
Replaces the TypeAccess child.- Parameters:
node- The new node to replace the TypeAccess child.
-
getTypeAccess
public Access getTypeAccess()
Retrieves the TypeAccess child.- Returns:
- The current node used as the TypeAccess child.
-
getTypeAccessNoTransform
public Access getTypeAccessNoTransform()
Retrieves the TypeAccess child.This method does not invoke AST transformations.
- Returns:
- The current node used as the TypeAccess child.
-
setVariableDeclList
public void setVariableDeclList(List<VariableDecl> list)
Replaces the VariableDecl list.- Parameters:
list- The new list node to be used as the VariableDecl list.
-
getNumVariableDecl
public int getNumVariableDecl()
Retrieves the number of children in the VariableDecl list.- Returns:
- Number of children in the VariableDecl list.
-
getNumVariableDeclNoTransform
public int getNumVariableDeclNoTransform()
Retrieves the number of children in the VariableDecl list. Calling this method will not trigger rewrites..- Returns:
- Number of children in the VariableDecl list.
-
getVariableDecl
public VariableDecl getVariableDecl(int i)
Retrieves the element at indexiin the VariableDecl list..- Parameters:
i- Index of the element to return.- Returns:
- The element at position
iin the VariableDecl list.
-
addVariableDecl
public void addVariableDecl(VariableDecl node)
Append an element to the VariableDecl list.- Parameters:
node- The element to append to the VariableDecl list.
-
addVariableDeclNoTransform
public void addVariableDeclNoTransform(VariableDecl node)
-
setVariableDecl
public void setVariableDecl(VariableDecl node, int i)
Replaces the VariableDecl list element at indexiwith the new nodenode.- Parameters:
node- The new node to replace the old list element.i- The list index of the node to be replaced.
-
getVariableDecls
public List<VariableDecl> getVariableDecls()
Retrieves the VariableDecl list.- Returns:
- The node representing the VariableDecl list.
-
getVariableDeclsNoTransform
public List<VariableDecl> getVariableDeclsNoTransform()
Retrieves the VariableDecl list.This method does not invoke AST transformations.
- Returns:
- The node representing the VariableDecl list.
-
getVariableDeclList
public List<VariableDecl> getVariableDeclList()
Retrieves the VariableDecl list.- Returns:
- The node representing the VariableDecl list.
-
getVariableDeclListNoTransform
public List<VariableDecl> getVariableDeclListNoTransform()
Retrieves the VariableDecl list.This method does not invoke AST transformations.
- Returns:
- The node representing the VariableDecl list.
-
canCompleteNormally
public boolean canCompleteNormally()
- Overrides:
canCompleteNormallyin classStmt
-
modifiedInScope
public boolean modifiedInScope(Variable var)
- Specified by:
modifiedInScopein classStmt
-
Define_NameType_nameType
public NameType Define_NameType_nameType(ASTNode caller, ASTNode child)
- Overrides:
Define_NameType_nameTypein classASTNode<ASTNode>
-
Define_TypeDecl_declType
public TypeDecl Define_TypeDecl_declType(ASTNode caller, ASTNode child)
- Overrides:
Define_TypeDecl_declTypein classASTNode<ASTNode>
-
-