Package soot.JastAddJ
Class ParClassInstanceExpr
- java.lang.Object
-
- beaver.Symbol
-
- soot.JastAddJ.ASTNode<ASTNode>
-
- soot.JastAddJ.Expr
-
- soot.JastAddJ.Access
-
- soot.JastAddJ.ClassInstanceExpr
-
- soot.JastAddJ.ParClassInstanceExpr
-
public class ParClassInstanceExpr extends ClassInstanceExpr implements Cloneable
-
-
Field Summary
-
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 ParClassInstanceExpr()ParClassInstanceExpr(Access p0, List<Expr> p1, Opt<TypeDecl> p2, List<Access> p3)
-
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)voidaddTypeArgument(Access node)Append an element to the TypeArgument list.voidaddTypeArgumentNoTransform(Access node)ParClassInstanceExprclone()ParClassInstanceExprcopy()booleanDefine_boolean_isExplicitGenericConstructorAccess(ASTNode caller, ASTNode child)NameTypeDefine_NameType_nameType(ASTNode caller, ASTNode child)SimpleSetDefine_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name)voidflushCache()voidflushCollectionCache()ParClassInstanceExprfullCopy()Create a deep copy of the AST subtree at this node.AccessgetAccess()Retrieves the Access child.AccessgetAccessNoTransform()Retrieves the Access child.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.intgetNumArg()Retrieves the number of children in the Arg list.intgetNumArgNoTransform()Retrieves the number of children in the Arg list.intgetNumTypeArgument()Retrieves the number of children in the TypeArgument list.intgetNumTypeArgumentNoTransform()Retrieves the number of children in the TypeArgument list.AccessgetTypeArgument(int i)Retrieves the element at indexiin the TypeArgument list..List<Access>getTypeArgumentList()Retrieves the TypeArgument list.List<Access>getTypeArgumentListNoTransform()Retrieves the TypeArgument list.List<Access>getTypeArguments()Retrieves the TypeArgument list.List<Access>getTypeArgumentsNoTransform()Retrieves the TypeArgument 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.voidsetTypeArgument(Access node, int i)Replaces the TypeArgument list element at indexiwith the new nodenode.voidsetTypeArgumentList(List<Access> list)Replaces the TypeArgument list.voidsetTypeDecl(TypeDecl node)Replaces the (optional) TypeDecl child.voidsetTypeDeclOpt(Opt<TypeDecl> opt)Replaces the optional node for the TypeDecl child.voidtoString(StringBuffer s)-
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_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, 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_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 ParClassInstanceExpr clone() throws CloneNotSupportedException
- Overrides:
clonein classClassInstanceExpr- Throws:
CloneNotSupportedException
-
copy
public ParClassInstanceExpr copy()
- Overrides:
copyin classClassInstanceExpr
-
fullCopy
public ParClassInstanceExpr 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
-
toString
public void toString(StringBuffer s)
- Overrides:
toStringin classClassInstanceExpr
-
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
-
setAccess
public void setAccess(Access node)
Replaces the Access child.- Overrides:
setAccessin classClassInstanceExpr- Parameters:
node- The new node to replace the Access child.
-
getAccess
public Access getAccess()
Retrieves the Access child.- Overrides:
getAccessin classClassInstanceExpr- Returns:
- The current node used as 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.
-
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.
-
getArgList
public List<Expr> getArgList()
Retrieves the Arg list.- Overrides:
getArgListin 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.
-
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.
-
setTypeArgumentList
public void setTypeArgumentList(List<Access> list)
Replaces the TypeArgument list.- Parameters:
list- The new list node to be used as the TypeArgument list.
-
getNumTypeArgument
public int getNumTypeArgument()
Retrieves the number of children in the TypeArgument list.- Returns:
- Number of children in the TypeArgument list.
-
getNumTypeArgumentNoTransform
public int getNumTypeArgumentNoTransform()
Retrieves the number of children in the TypeArgument list. Calling this method will not trigger rewrites..- Returns:
- Number of children in the TypeArgument list.
-
getTypeArgument
public Access getTypeArgument(int i)
Retrieves the element at indexiin the TypeArgument list..- Parameters:
i- Index of the element to return.- Returns:
- The element at position
iin the TypeArgument list.
-
addTypeArgument
public void addTypeArgument(Access node)
Append an element to the TypeArgument list.- Parameters:
node- The element to append to the TypeArgument list.
-
addTypeArgumentNoTransform
public void addTypeArgumentNoTransform(Access node)
-
setTypeArgument
public void setTypeArgument(Access node, int i)
Replaces the TypeArgument 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.
-
getTypeArguments
public List<Access> getTypeArguments()
Retrieves the TypeArgument list.- Returns:
- The node representing the TypeArgument list.
-
getTypeArgumentsNoTransform
public List<Access> getTypeArgumentsNoTransform()
Retrieves the TypeArgument list.This method does not invoke AST transformations.
- Returns:
- The node representing the TypeArgument list.
-
getTypeArgumentList
public List<Access> getTypeArgumentList()
Retrieves the TypeArgument list.- Returns:
- The node representing the TypeArgument list.
-
getTypeArgumentListNoTransform
public List<Access> getTypeArgumentListNoTransform()
Retrieves the TypeArgument list.This method does not invoke AST transformations.
- Returns:
- The node representing the TypeArgument list.
-
Define_NameType_nameType
public NameType Define_NameType_nameType(ASTNode caller, ASTNode child)
- Overrides:
Define_NameType_nameTypein classClassInstanceExpr
-
Define_SimpleSet_lookupType
public SimpleSet Define_SimpleSet_lookupType(ASTNode caller, ASTNode child, String name)
- Overrides:
Define_SimpleSet_lookupTypein classClassInstanceExpr
-
Define_boolean_isExplicitGenericConstructorAccess
public boolean Define_boolean_isExplicitGenericConstructorAccess(ASTNode caller, ASTNode child)
- Overrides:
Define_boolean_isExplicitGenericConstructorAccessin classASTNode<ASTNode>
-
rewriteTo
public ASTNode rewriteTo()
- Overrides:
rewriteToin classClassInstanceExpr
-
-