Package soot.JastAddJ

Class ConstructorDecl

    • Field Detail

      • addEnclosingVariables

        protected boolean addEnclosingVariables
      • tokenString_ID

        protected String tokenString_ID
      • IDstart

        public int IDstart
      • IDend

        public int IDend
      • accessibleFrom_TypeDecl_values

        protected Map accessibleFrom_TypeDecl_values
      • isDAafter_Variable_values

        protected Map isDAafter_Variable_values
      • isDUafter_Variable_values

        protected Map isDUafter_Variable_values
      • throwsException_TypeDecl_values

        protected Map throwsException_TypeDecl_values
      • name_computed

        protected boolean name_computed
      • name_value

        protected String name_value
      • signature_computed

        protected boolean signature_computed
      • signature_value

        protected String signature_value
      • sameSignature_ConstructorDecl_values

        protected Map sameSignature_ConstructorDecl_values
      • moreSpecificThan_ConstructorDecl_values

        protected Map moreSpecificThan_ConstructorDecl_values
      • parameterDeclaration_String_values

        protected Map parameterDeclaration_String_values
      • circularThisInvocation_ConstructorDecl_values

        protected Map circularThisInvocation_ConstructorDecl_values
      • sourceConstructorDecl_computed

        protected boolean sourceConstructorDecl_computed
      • sourceConstructorDecl_value

        protected ConstructorDecl sourceConstructorDecl_value
      • sootMethod_computed

        protected boolean sootMethod_computed
      • sootMethod_value

        protected SootMethod sootMethod_value
      • sootRef_computed

        protected boolean sootRef_computed
      • localNumOfFirstParameter_computed

        protected boolean localNumOfFirstParameter_computed
      • localNumOfFirstParameter_value

        protected int localNumOfFirstParameter_value
      • offsetFirstEnclosingVariable_computed

        protected boolean offsetFirstEnclosingVariable_computed
      • offsetFirstEnclosingVariable_value

        protected int offsetFirstEnclosingVariable_value
      • handlesException_TypeDecl_values

        protected Map handlesException_TypeDecl_values
    • Method Detail

      • fullCopy

        public ConstructorDecl fullCopy()
        Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
        Overrides:
        fullCopy in class ASTNode<ASTNode>
        Returns:
        dangling copy of the subtree at this node
      • applicable

        public boolean applicable​(List argList)
      • setDefaultConstructor

        public void setDefaultConstructor()
        Set the default constructor flag. Causes this constructor to not be pretty printed.
      • checkModifiers

        public void checkModifiers()
      • addEnclosingVariables

        public void addEnclosingVariables()
      • createAccessorParameters

        protected List createAccessorParameters()
      • createAnonymousJavaTypeDecl

        protected TypeDecl createAnonymousJavaTypeDecl()
      • addRuntimeVisibleParameterAnnotationsAttribute

        public void addRuntimeVisibleParameterAnnotationsAttribute​(Collection c)
      • addRuntimeInvisibleParameterAnnotationsAttribute

        public void addRuntimeInvisibleParameterAnnotationsAttribute​(Collection c)
      • addSourceLevelParameterAnnotationsAttribute

        public void addSourceLevelParameterAnnotationsAttribute​(Collection c)
      • init$Children

        public void init$Children()
        Initializes the child array to the correct size. Initializes List and Opt nta children.
        Overrides:
        init$Children in class BodyDecl
      • 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.
      • 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.
      • setParameterList

        public void setParameterList​(List<ParameterDeclaration> list)
        Replaces the Parameter list.
        Parameters:
        list - The new list node to be used as the Parameter list.
      • getNumParameter

        public int getNumParameter()
        Retrieves the number of children in the Parameter list.
        Returns:
        Number of children in the Parameter list.
      • getNumParameterNoTransform

        public int getNumParameterNoTransform()
        Retrieves the number of children in the Parameter list. Calling this method will not trigger rewrites..
        Returns:
        Number of children in the Parameter list.
      • getParameter

        public ParameterDeclaration getParameter​(int i)
        Retrieves the element at index i in the Parameter list..
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in the Parameter list.
      • addParameter

        public void addParameter​(ParameterDeclaration node)
        Append an element to the Parameter list.
        Parameters:
        node - The element to append to the Parameter list.
      • setParameter

        public void setParameter​(ParameterDeclaration node,
                                 int i)
        Replaces the Parameter list element at index i with the new node node.
        Parameters:
        node - The new node to replace the old list element.
        i - The list index of the node to be replaced.
      • getParameters

        public List<ParameterDeclaration> getParameters()
        Retrieves the Parameter list.
        Returns:
        The node representing the Parameter list.
      • getParametersNoTransform

        public List<ParameterDeclaration> getParametersNoTransform()
        Retrieves the Parameter list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the Parameter list.
      • getParameterList

        public List<ParameterDeclaration> getParameterList()
        Retrieves the Parameter list.
        Returns:
        The node representing the Parameter list.
      • getParameterListNoTransform

        public List<ParameterDeclaration> getParameterListNoTransform()
        Retrieves the Parameter list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the Parameter list.
      • setExceptionList

        public void setExceptionList​(List<Access> list)
        Replaces the Exception list.
        Parameters:
        list - The new list node to be used as the Exception list.
      • getNumException

        public int getNumException()
        Retrieves the number of children in the Exception list.
        Returns:
        Number of children in the Exception list.
      • getNumExceptionNoTransform

        public int getNumExceptionNoTransform()
        Retrieves the number of children in the Exception list. Calling this method will not trigger rewrites..
        Returns:
        Number of children in the Exception list.
      • getException

        public Access getException​(int i)
        Retrieves the element at index i in the Exception list..
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in the Exception list.
      • addException

        public void addException​(Access node)
        Append an element to the Exception list.
        Parameters:
        node - The element to append to the Exception list.
      • addExceptionNoTransform

        public void addExceptionNoTransform​(Access node)
      • setException

        public void setException​(Access node,
                                 int i)
        Replaces the Exception list element at index i with the new node node.
        Parameters:
        node - The new node to replace the old list element.
        i - The list index of the node to be replaced.
      • getExceptions

        public List<Access> getExceptions()
        Retrieves the Exception list.
        Returns:
        The node representing the Exception list.
      • getExceptionsNoTransform

        public List<Access> getExceptionsNoTransform()
        Retrieves the Exception list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the Exception list.
      • getExceptionList

        public List<Access> getExceptionList()
        Retrieves the Exception list.
        Returns:
        The node representing the Exception list.
      • getExceptionListNoTransform

        public List<Access> getExceptionListNoTransform()
        Retrieves the Exception list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the Exception list.
      • setConstructorInvocationOpt

        public void setConstructorInvocationOpt​(Opt<Stmt> opt)
        Replaces the optional node for the ConstructorInvocation child. This is the Opt node containing the child ConstructorInvocation, not the actual child!
        Parameters:
        opt - The new node to be used as the optional node for the ConstructorInvocation child.
      • hasConstructorInvocation

        public boolean hasConstructorInvocation()
        Check whether the optional ConstructorInvocation child exists.
        Returns:
        true if the optional ConstructorInvocation child exists, false if it does not.
      • getConstructorInvocation

        public Stmt getConstructorInvocation()
        Retrieves the (optional) ConstructorInvocation child.
        Returns:
        The ConstructorInvocation child, if it exists. Returns null otherwise.
      • setConstructorInvocation

        public void setConstructorInvocation​(Stmt node)
        Replaces the (optional) ConstructorInvocation child.
        Parameters:
        node - The new node to be used as the ConstructorInvocation child.
      • getConstructorInvocationOpt

        public Opt<Stmt> getConstructorInvocationOpt()
      • getConstructorInvocationOptNoTransform

        public Opt<Stmt> getConstructorInvocationOptNoTransform()
        Retrieves the optional node for child ConstructorInvocation. This is the Opt node containing the child ConstructorInvocation, not the actual child!

        This method does not invoke AST transformations.

        Returns:
        The optional node for child ConstructorInvocation.
      • setBlock

        public void setBlock​(Block node)
        Replaces the Block child.
        Parameters:
        node - The new node to replace the Block child.
      • getBlock

        public Block getBlock()
        Retrieves the Block child.
        Returns:
        The current node used as the Block child.
      • getBlockNoTransform

        public Block getBlockNoTransform()
        Retrieves the Block child.

        This method does not invoke AST transformations.

        Returns:
        The current node used as the Block child.
      • accessibleFrom

        public boolean accessibleFrom​(TypeDecl type)
      • throwsException

        public boolean throwsException​(TypeDecl exceptionType)
      • signature

        public String signature()
      • moreSpecificThan

        public boolean moreSpecificThan​(ConstructorDecl m)
      • isDefaultConstructor

        public boolean isDefaultConstructor()
        Returns:
        true if this is an auto-generated default constructor
      • parameterDeclaration

        public SimpleSet parameterDeclaration​(String name)
      • isSynthetic

        public boolean isSynthetic()
      • isPublic

        public boolean isPublic()
      • isPrivate

        public boolean isPrivate()
      • isProtected

        public boolean isProtected()
      • circularThisInvocation

        public boolean circularThisInvocation​(ConstructorDecl decl)
      • isVoid

        public boolean isVoid()
        Overrides:
        isVoid in class BodyDecl
      • applicableBySubtyping

        public boolean applicableBySubtyping​(List argList)
      • applicableByMethodInvocationConversion

        public boolean applicableByMethodInvocationConversion​(List argList)
      • applicableVariableArity

        public boolean applicableVariableArity​(List argList)
      • potentiallyApplicable

        public boolean potentiallyApplicable​(List argList)
      • arity

        public int arity()
      • isVariableArity

        public boolean isVariableArity()
      • needsEnclosing

        public boolean needsEnclosing()
      • needsSuperEnclosing

        public boolean needsSuperEnclosing()
      • enclosing

        public TypeDecl enclosing()
      • superEnclosing

        public TypeDecl superEnclosing()
      • sootTypeModifiers

        public int sootTypeModifiers()
      • localNumOfFirstParameter

        public int localNumOfFirstParameter()
      • offsetFirstEnclosingVariable

        public int offsetFirstEnclosingVariable()
      • hasAnnotationSafeVarargs

        public boolean hasAnnotationSafeVarargs()
        Overrides:
        hasAnnotationSafeVarargs in class BodyDecl
        Returns:
        true if the modifier list includes the SafeVarargs annotation
      • hasIllegalAnnotationSafeVarargs

        public boolean hasIllegalAnnotationSafeVarargs()
        It is an error if the SafeVarargs annotation is used on something that is not a variable arity method or constructor.
        Overrides:
        hasIllegalAnnotationSafeVarargs in class BodyDecl
      • handlesException

        public boolean handlesException​(TypeDecl exceptionType)
      • unknownType

        public TypeDecl unknownType()