Package soot.JastAddJ
Class VariableDeclaration
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.Stmt
-
- soot.JastAddJ.VariableDeclaration
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface soot.JastAddJ.SimpleSet
SimpleSet.SimpleSetImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanconstant_computedprotected Constantconstant_valueintIDendintIDstartprotected MapisDAafter_Variable_valuesprotected MapisDUafter_Variable_valuesLocallocalprotected booleanlocalNum_computedprotected intlocalNum_valueprotected booleansourceVariableDecl_computedprotected VariablesourceVariableDecl_valueprotected booleanthrowTypes_computedprotected Collection<TypeDecl>throwTypes_valueprotected StringtokenString_ID-
Fields inherited from class soot.JastAddJ.Stmt
canCompleteNormally_computed, canCompleteNormally_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 VariableDeclaration()VariableDeclaration(Access type, String name)VariableDeclaration(Access type, String name, Expr init)VariableDeclaration(Modifiers p0, Access p1, Symbol p2, Opt<Expr> p3)VariableDeclaration(Modifiers p0, Access p1, String p2, Opt<Expr> p3)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SimpleSetadd(Object o)voidcheckWarnings()Checking of the SafeVarargs annotation is only needed for method declarations.VariableDeclarationclone()Constantconstant()booleancontains(Object o)VariableDeclarationcopy()booleandeclaresVariable(String name)booleanDefine_boolean_isDAbefore(ASTNode caller, ASTNode child, Variable v)booleanDefine_boolean_isDUbefore(ASTNode caller, ASTNode child, Variable v)booleanDefine_boolean_isSource(ASTNode caller, ASTNode child)booleanDefine_boolean_mayBeFinal(ASTNode caller, ASTNode child)booleanDefine_boolean_mayUseAnnotationTarget(ASTNode caller, ASTNode child, String name)NameTypeDefine_NameType_nameType(ASTNode caller, ASTNode child)TypeDeclDefine_TypeDecl_assignConvertedType(ASTNode caller, ASTNode child)TypeDeclDefine_TypeDecl_declType(ASTNode caller, ASTNode child)TypeDeclDefine_TypeDecl_expectedType(ASTNode caller, ASTNode child)StringdumpString()voidflushCache()voidflushCollectionCache()VariableDeclarationfullCopy()Create a deep copy of the AST subtree at this node.StringgetID()Retrieves the value for the lexeme ID.ExprgetInit()Retrieves the (optional) Init child.Opt<Expr>getInitOpt()Opt<Expr>getInitOptNoTransform()Retrieves the optional node for child Init.ModifiersgetModifiers()Retrieves the Modifiers child.ModifiersgetModifiersNoTransform()Retrieves the Modifiers child.AccessgetTypeAccess()Retrieves the TypeAccess child.AccessgetTypeAccessNoTransform()Retrieves the TypeAccess child.booleanhasAnnotationSuppressWarnings(String s)booleanhasInit()Check whether the optional Init child exists.booleanhasNext()TypeDeclhostType()voidinit$Children()Initializes the child array to the correct size.booleanisBlank()booleanisBlankFinal()booleanisClassVariable()booleanisConstructorParameter()booleanisDAafter(Variable v)booleanisDUafter(Variable v)booleanisEmpty()booleanisExceptionHandlerParameter()booleanisFinal()booleanisInstanceVariable()booleanisLocalVariable()booleanisMethodParameter()booleanisParameter()booleanisSingleton()booleanisSingleton(Object o)booleanisStatic()booleanisSynthetic()booleanisValue()booleanisVolatile()Iteratoriterator()voidjimplify2(Body b)intlocalNum()SimpleSetlookupVariable(String name)booleanmayHaveRewrite()booleanmodifiedInScope(Variable var)Stringname()voidnameCheck()Objectnext()protected intnumChildren()VariableScopeouterScope()voidremove()booleanresourcePreviouslyDeclared(String name)ASTNoderewriteTo()voidsetID(Symbol symbol)JastAdd-internal setter for lexeme ID using the Beaver parser.voidsetID(String value)Replaces the lexeme ID.voidsetInit(Expr node)Replaces the (optional) Init child.voidsetInitOpt(Opt<Expr> opt)Replaces the optional node for the Init child.voidsetModifiers(Modifiers node)Replaces the Modifiers child.voidsetTypeAccess(Access node)Replaces the TypeAccess child.intsize()VariablesourceVariableDecl()booleansuppressWarnings(String type)Collection<TypeDecl>throwTypes()voidtoString(StringBuffer s)TypeDecltype()voidtypeCheck()booleanwithinSuppressWarnings(String s)-
Methods inherited from class soot.JastAddJ.Stmt
addsIndentationLevel, break_label, canCompleteNormally, continue_label, continueLabel, Define_String_typeDeclIndent, enclosingBodyDecl, isDAbefore, isDUbefore, lookupMethod, lookupType, lookupType, reachable, reportUnreachable
-
Methods inherited from class soot.JastAddJ.ASTNode
accessControl, addAttributes, addChild, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, 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_isDest, Define_boolean_isExceptionHandlerParameter, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isIncOrDec, Define_boolean_isLocalClass, Define_boolean_isMemberType, Define_boolean_isMethodParameter, Define_boolean_isNestedType, Define_boolean_mayBeAbstract, 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_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_componentType, Define_TypeDecl_enclosingAnnotationDecl, Define_TypeDecl_enclosingInstance, Define_TypeDecl_enclosingType, 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, 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, jimplify1phase1, jimplify1phase2, jimplify2, lineNumber, location, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, transformation, 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
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Field Detail
-
local
public Local local
-
tokenString_ID
protected String tokenString_ID
-
IDstart
public int IDstart
-
IDend
public int IDend
-
isDAafter_Variable_values
protected Map isDAafter_Variable_values
-
isDUafter_Variable_values
protected Map isDUafter_Variable_values
-
constant_computed
protected boolean constant_computed
-
constant_value
protected Constant constant_value
-
sourceVariableDecl_computed
protected boolean sourceVariableDecl_computed
-
sourceVariableDecl_value
protected Variable sourceVariableDecl_value
-
throwTypes_computed
protected boolean throwTypes_computed
-
throwTypes_value
protected Collection<TypeDecl> throwTypes_value
-
localNum_computed
protected boolean localNum_computed
-
localNum_value
protected int localNum_value
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classStmt
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classStmt
-
clone
public VariableDeclaration clone() throws CloneNotSupportedException
- Overrides:
clonein classStmt- Throws:
CloneNotSupportedException
-
copy
public VariableDeclaration copy()
-
fullCopy
public VariableDeclaration fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
-
isSingleton
public boolean isSingleton()
- Specified by:
isSingletonin interfaceSimpleSet
-
isSingleton
public boolean isSingleton(Object o)
- Specified by:
isSingletonin interfaceSimpleSet
-
iterator
public Iterator iterator()
-
toString
public void toString(StringBuffer s)
-
checkWarnings
public void checkWarnings()
Description copied from class:ASTNodeChecking of the SafeVarargs annotation is only needed for method declarations.- Overrides:
checkWarningsin classASTNode<ASTNode>
-
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.- Specified by:
getModifiersin interfaceVariable- 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.
-
setID
public void setID(String value)
Replaces the lexeme ID.- Parameters:
value- The new value for the lexeme ID.
-
setID
public void setID(Symbol symbol)
JastAdd-internal setter for lexeme ID using the Beaver parser.
-
getID
public String getID()
Retrieves the value for the lexeme ID.- Returns:
- The value for the lexeme ID.
-
setInitOpt
public void setInitOpt(Opt<Expr> opt)
Replaces the optional node for the Init child. This is theOptnode containing the child Init, not the actual child!- Parameters:
opt- The new node to be used as the optional node for the Init child.
-
hasInit
public boolean hasInit()
Check whether the optional Init child exists.
-
getInit
public Expr getInit()
Retrieves the (optional) Init child.
-
setInit
public void setInit(Expr node)
Replaces the (optional) Init child.- Parameters:
node- The new node to be used as the Init child.
-
getInitOptNoTransform
public Opt<Expr> getInitOptNoTransform()
Retrieves the optional node for child Init. This is theOptnode containing the child Init, not the actual child!This method does not invoke AST transformations.
- Returns:
- The optional node for child Init.
-
isBlankFinal
public boolean isBlankFinal()
-
isValue
public boolean isValue()
-
declaresVariable
public boolean declaresVariable(String name)
- Overrides:
declaresVariablein classStmt
-
isSynthetic
public boolean isSynthetic()
- Specified by:
isSyntheticin interfaceVariable
-
dumpString
public String dumpString()
- Overrides:
dumpStringin classASTNode<ASTNode>
-
isParameter
public boolean isParameter()
- Specified by:
isParameterin interfaceVariable
-
isClassVariable
public boolean isClassVariable()
- Specified by:
isClassVariablein interfaceVariable
-
isInstanceVariable
public boolean isInstanceVariable()
- Specified by:
isInstanceVariablein interfaceVariable
-
isMethodParameter
public boolean isMethodParameter()
- Specified by:
isMethodParameterin interfaceVariable
-
isConstructorParameter
public boolean isConstructorParameter()
- Specified by:
isConstructorParameterin interfaceVariable
-
isExceptionHandlerParameter
public boolean isExceptionHandlerParameter()
- Specified by:
isExceptionHandlerParameterin interfaceVariable
-
isLocalVariable
public boolean isLocalVariable()
- Specified by:
isLocalVariablein interfaceVariable
-
isVolatile
public boolean isVolatile()
- Specified by:
isVolatilein interfaceVariable
-
sourceVariableDecl
public Variable sourceVariableDecl()
- Specified by:
sourceVariableDeclin interfaceVariable
-
throwTypes
public Collection<TypeDecl> throwTypes()
- Specified by:
throwTypesin interfaceVariable
-
modifiedInScope
public boolean modifiedInScope(Variable var)
- Specified by:
modifiedInScopein classStmt
-
hasAnnotationSuppressWarnings
public boolean hasAnnotationSuppressWarnings(String s)
-
suppressWarnings
public boolean suppressWarnings(String type)
-
lookupVariable
public SimpleSet lookupVariable(String name)
- Overrides:
lookupVariablein classStmt
-
outerScope
public VariableScope outerScope()
-
hostType
public TypeDecl hostType()
-
withinSuppressWarnings
public boolean withinSuppressWarnings(String s)
-
resourcePreviouslyDeclared
public boolean resourcePreviouslyDeclared(String name)
-
Define_boolean_isSource
public boolean Define_boolean_isSource(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_isSourcein classASTNode<ASTNode>
-
Define_boolean_isDAbefore
public boolean Define_boolean_isDAbefore(ASTNode caller, ASTNode child, Variable v)
- Overrides:
Define_boolean_isDAbeforein classASTNode<ASTNode>
-
Define_boolean_isDUbefore
public boolean Define_boolean_isDUbefore(ASTNode caller, ASTNode child, Variable v)
- Overrides:
Define_boolean_isDUbeforein classASTNode<ASTNode>
-
Define_boolean_mayBeFinal
public boolean Define_boolean_mayBeFinal(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_mayBeFinalin classASTNode<ASTNode>
-
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>
-
Define_boolean_mayUseAnnotationTarget
public boolean Define_boolean_mayUseAnnotationTarget(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_boolean_mayUseAnnotationTargetin classASTNode<ASTNode>
-
Define_TypeDecl_assignConvertedType
public TypeDecl Define_TypeDecl_assignConvertedType(ASTNode caller, ASTNode child)
- Overrides:
Define_TypeDecl_assignConvertedTypein classASTNode<ASTNode>
-
Define_TypeDecl_expectedType
public TypeDecl Define_TypeDecl_expectedType(ASTNode caller, ASTNode child)
- Overrides:
Define_TypeDecl_expectedTypein classASTNode<ASTNode>
-
-