Package soot.JastAddJ
Class EnumConstant
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.BodyDecl
-
- soot.JastAddJ.MemberDecl
-
- soot.JastAddJ.FieldDeclaration
-
- soot.JastAddJ.EnumConstant
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface soot.JastAddJ.SimpleSet
SimpleSet.SimpleSetImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected booleangetTypeAccess_computedprotected AccessgetTypeAccess_valueprotected booleanlocalMethodsSignatureMap_computedprotected HashMaplocalMethodsSignatureMap_value-
Fields inherited from class soot.JastAddJ.FieldDeclaration
accessibleFrom_TypeDecl_values, constant_computed, constant_value, exceptions_computed, exceptions_value, IDend, IDstart, isDAafter_Variable_values, isDUafter_Variable_values, sootField, sootRef_computed, sootRef_value, sourceVariableDecl_computed, sourceVariableDecl_value, throwTypes_computed, throwTypes_value, tokenString_ID, usesTypeVariable_computed, usesTypeVariable_value
-
Fields inherited from class soot.JastAddJ.BodyDecl
isDAbefore_Variable_values, isDUbefore_Variable_values, lookupVariable_String_values, typeThrowable_computed, typeThrowable_value
-
Fields inherited from class soot.JastAddJ.ASTNode
children, generatedWithCacheCycle, generatedWithCircularEnabled, generatedWithComponentCheck, in$Circle, is$Final, numChildren, parent, PRIMITIVE_PACKAGE_NAME, state
-
-
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)EnumConstantclone()EnumConstantcopy()NameTypeDefine_NameType_nameType(ASTNode caller, ASTNode child)voidflushCache()voidflushCollectionCache()EnumConstantfullCopy()Create a deep copy of the AST subtree at this node.ExprgetArg(int i)Retrieves the element at indexiin the Arg list..List<Expr>getArgList()Retrieves the Arg list.List<Expr>getArgListNoTransform()Retrieves the Arg list.List<Expr>getArgs()Retrieves the Arg list.List<Expr>getArgsNoTransform()Retrieves the Arg list.BodyDeclgetBodyDecl(int i)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.intgetNumArg()Retrieves the number of children in the Arg list.intgetNumArgNoTransform()Retrieves the number of children in the Arg list.intgetNumBodyDecl()AccessgetTypeAccess()Retrieves the TypeAccess child.protected intgetTypeAccessChildPosition()Retrieves the child position of the optional child TypeAccess.AccessgetTypeAccessNoTransform()Retrieves the TypeAccess child.booleanhasInit()Check whether the optional Init child exists.booleanimplementsMethod(MethodDecl method)voidinit$Children()Initializes the child array to the correct size.booleanisEnumConstant()booleanisFinal()booleanisPublic()booleanisStatic()SimpleSetlocalMethodsSignature(String signature)HashMaplocalMethodsSignatureMap()booleanmayHaveRewrite()protected intnumChildren()ASTNoderewriteTo()voidsetArg(Expr node, int i)Replaces the Arg list element at indexiwith the new nodenode.voidsetArgList(List<Expr> list)Replaces the Arg list.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.intsootTypeModifiers()voidtoString(StringBuffer s)-
Methods inherited from class soot.JastAddJ.FieldDeclaration
accessibleFrom, add, addAttributes, checkModifiers, checkWarnings, constant, contains, createAccessor, createAccessorWrite, createBoundFieldAccess, createQualifiedBoundAccess, Define_boolean_handlesException, Define_boolean_inStaticContext, Define_boolean_isDAbefore, Define_boolean_isSource, Define_boolean_mayBeFinal, Define_boolean_mayBePrivate, Define_boolean_mayBeProtected, Define_boolean_mayBePublic, Define_boolean_mayBeStatic, Define_boolean_mayBeTransient, Define_boolean_mayBeVolatile, Define_boolean_mayUseAnnotationTarget, Define_TypeDecl_assignConvertedType, Define_TypeDecl_declType, Define_TypeDecl_expectedType, definiteAssignment, dumpString, erasedField, exceptions, getFieldDecl, handlesException, hasAnnotationSafeVarargs, hasAnnotationSuppressWarnings, hasNext, isBlank, isClassVariable, isConstant, isConstructorParameter, isDAafter, isDeprecated, isDUafter, isEmpty, isExceptionHandlerParameter, isInstanceVariable, isLocalVariable, isMethodParameter, isParameter, isPrivate, isProtected, isSingleton, isSingleton, isSynthetic, isTransient, isVoid, isVolatile, iterator, jimplify1phase2, name, nameCheck, next, remove, setFieldDecl, size, sootRef, sourceVariableDecl, substitutedBodyDecl, suppressWarnings, throwTypes, type, typeCheck, usesTypeVariable, visibleTypeParameters, withinSuppressWarnings
-
Methods inherited from class soot.JastAddJ.BodyDecl
addsIndentationLevel, collectFinally, declaresType, Define_ArrayList_exceptionRanges, Define_BodyDecl_enclosingBodyDecl, Define_boolean_resourcePreviouslyDeclared, Define_String_typeDeclIndent, generate, hasIllegalAnnotationSafeVarargs, hostPackage, hostType, isDAbefore, isDUbefore, jimplify2, lookupMethod, lookupType, lookupType, lookupVariable, nameType, type, typeThrowable
-
Methods inherited from class soot.JastAddJ.ASTNode
accessControl, addChild, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectExceptions, collectTypesToHierarchy, collectTypesToSignatures, compilationUnit, Define_Annotation_lookupAnnotation, Define_ASTNode_enclosingBlock, Define_boolean_enclosedByExceptionHandler, Define_boolean_hasPackage, Define_boolean_inExplicitConstructorInvocation, Define_boolean_inExtendsOrImplements, Define_boolean_inhModifiedInScope, Define_boolean_insideLoop, Define_boolean_insideSwitch, Define_boolean_isAnonymous, Define_boolean_isAnonymousDecl, Define_boolean_isCatchParam, Define_boolean_isConstructorParameter, 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_mayBeAbstract, Define_boolean_mayBeNative, Define_boolean_mayBeStrictfp, Define_boolean_mayBeSynchronized, Define_boolean_reachable, Define_boolean_reachableCatchClause, Define_boolean_reportUnreachable, 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, 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, jimplify2, lineNumber, location, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, transformation, transformEnumConstructors, unassignedEverywhere, 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
-
-
-
-
Method Detail
-
flushCache
public void flushCache()
- Overrides:
flushCachein classFieldDeclaration
-
flushCollectionCache
public void flushCollectionCache()
- Overrides:
flushCollectionCachein classFieldDeclaration
-
clone
public EnumConstant clone() throws CloneNotSupportedException
- Overrides:
clonein classFieldDeclaration- Throws:
CloneNotSupportedException
-
copy
public EnumConstant copy()
- Overrides:
copyin classFieldDeclaration
-
fullCopy
public EnumConstant fullCopy()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.- Overrides:
fullCopyin classFieldDeclaration- Returns:
- dangling copy of the subtree at this node
-
getNumBodyDecl
public int getNumBodyDecl()
-
getBodyDecl
public BodyDecl getBodyDecl(int i)
-
toString
public void toString(StringBuffer s)
- Overrides:
toStringin classFieldDeclaration
-
init$Children
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.- Overrides:
init$Childrenin classFieldDeclaration
-
numChildren
protected int numChildren()
- Overrides:
numChildrenin classFieldDeclaration
-
mayHaveRewrite
public boolean mayHaveRewrite()
- Overrides:
mayHaveRewritein classFieldDeclaration
-
setModifiers
public void setModifiers(Modifiers node)
Replaces the Modifiers child.- Overrides:
setModifiersin classFieldDeclaration- Parameters:
node- The new node to replace the Modifiers child.
-
getModifiers
public Modifiers getModifiers()
Retrieves the Modifiers child.- Specified by:
getModifiersin interfaceVariable- Overrides:
getModifiersin classFieldDeclaration- Returns:
- The current node used as the Modifiers child.
-
getModifiersNoTransform
public Modifiers getModifiersNoTransform()
Retrieves the Modifiers child.This method does not invoke AST transformations.
- Overrides:
getModifiersNoTransformin classFieldDeclaration- Returns:
- The current node used as the Modifiers child.
-
setID
public void setID(String value)
Replaces the lexeme ID.- Overrides:
setIDin classFieldDeclaration- 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.- Overrides:
setIDin classFieldDeclaration
-
getID
public String getID()
Retrieves the value for the lexeme ID.- Overrides:
getIDin classFieldDeclaration- Returns:
- The value for the lexeme ID.
-
setArgList
public void setArgList(List<Expr> list)
Replaces the Arg list.- 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.- 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..- Returns:
- Number of children in the Arg list.
-
getArg
public Expr getArg(int i)
Retrieves the element at indexiin the Arg list..- 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.- Parameters:
node- The element to append to the Arg list.
-
addArgNoTransform
public void addArgNoTransform(Expr node)
-
setArg
public void setArg(Expr node, int i)
Replaces the Arg 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.
-
getArgs
public List<Expr> getArgs()
Retrieves the Arg list.- Returns:
- The node representing the Arg list.
-
getArgsNoTransform
public List<Expr> getArgsNoTransform()
Retrieves the Arg list.This method does not invoke AST transformations.
- Returns:
- The node representing the Arg list.
-
getArgList
public List<Expr> getArgList()
Retrieves the Arg list.- Returns:
- The node representing the Arg list.
-
getArgListNoTransform
public List<Expr> getArgListNoTransform()
Retrieves the Arg list.This method does not invoke AST transformations.
- Returns:
- The node representing the Arg list.
-
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!- Overrides:
setInitOptin classFieldDeclaration- 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.- Specified by:
hasInitin interfaceVariable- Overrides:
hasInitin classFieldDeclaration- Returns:
trueif the optional Init child exists,falseif it does not.
-
getInit
public Expr getInit()
Retrieves the (optional) Init child.- Specified by:
getInitin interfaceVariable- Overrides:
getInitin classFieldDeclaration- Returns:
- The Init child, if it exists. Returns
nullotherwise.
-
setInit
public void setInit(Expr node)
Replaces the (optional) Init child.- Overrides:
setInitin classFieldDeclaration- Parameters:
node- The new node to be used as the Init child.
-
getInitOpt
public Opt<Expr> getInitOpt()
- Overrides:
getInitOptin classFieldDeclaration
-
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.
- Overrides:
getInitOptNoTransformin classFieldDeclaration- Returns:
- The optional node for child Init.
-
setTypeAccess
public void setTypeAccess(Access node)
Replaces the TypeAccess child.- Overrides:
setTypeAccessin classFieldDeclaration- Parameters:
node- The new node to replace the TypeAccess child.
-
getTypeAccessNoTransform
public Access getTypeAccessNoTransform()
Retrieves the TypeAccess child.This method does not invoke AST transformations.
- Overrides:
getTypeAccessNoTransformin classFieldDeclaration- Returns:
- The current node used as the TypeAccess child.
-
getTypeAccessChildPosition
protected int getTypeAccessChildPosition()
Retrieves the child position of the optional child TypeAccess.- Returns:
- The the child position of the optional child TypeAccess.
-
isEnumConstant
public boolean isEnumConstant()
- Overrides:
isEnumConstantin classBodyDecl
-
isPublic
public boolean isPublic()
- Overrides:
isPublicin classFieldDeclaration
-
isStatic
public boolean isStatic()
- Specified by:
isStaticin interfaceVariable- Overrides:
isStaticin classFieldDeclaration
-
isFinal
public boolean isFinal()
- Specified by:
isFinalin interfaceVariable- Overrides:
isFinalin classFieldDeclaration
-
getTypeAccess
public Access getTypeAccess()
Description copied from class:FieldDeclarationRetrieves the TypeAccess child.- Overrides:
getTypeAccessin classFieldDeclaration- Returns:
- The current node used as the TypeAccess child.
-
localMethodsSignatureMap
public HashMap localMethodsSignatureMap()
-
implementsMethod
public boolean implementsMethod(MethodDecl method)
-
sootTypeModifiers
public int sootTypeModifiers()
- Overrides:
sootTypeModifiersin classFieldDeclaration
-
Define_NameType_nameType
public NameType Define_NameType_nameType(ASTNode caller, ASTNode child)
- Overrides:
Define_NameType_nameTypein classFieldDeclaration
-
rewriteTo
public ASTNode rewriteTo()
- Overrides:
rewriteToin classFieldDeclaration
-
-