Class AModuleDeclaration

    • Constructor Detail

      • AModuleDeclaration

        public AModuleDeclaration​(LexIdentifier name_,
                                  List<? extends AFunctionDeclaration> functions_)
        Deprecated.
        This method should not be used, use AstFactory instead. The basic child nodes are removed from their previous parents.
        Creates a new complete constructor AModuleDeclaration node with the given nodes as children.
        Parameters:
        name_ - the LexIdentifier node for the name child of this AModuleDeclaration node
        functions_ - the NodeList node for the functions child of this AModuleDeclaration node
      • AModuleDeclaration

        public AModuleDeclaration()
        Creates a new default constructor AModuleDeclaration node with no children.
    • Method Detail

      • clone

        public AModuleDeclaration clone​(Map<org.intocps.maestro.ast.node.INode,​org.intocps.maestro.ast.node.INode> oldToNewMap)
        Creates a deep clone of this AModuleDeclaration node while putting all old node-new node relations in the map oldToNewMap.
        Specified by:
        clone in interface org.intocps.maestro.ast.node.INode
        Specified by:
        clone in interface PDeclaration
        Specified by:
        clone in class PDeclarationBase
        Parameters:
        oldToNewMap - the map filled with the old node-new node relation
        Returns:
        a deep clone of this AModuleDeclaration node
      • getChildren

        public Map<String,​Object> getChildren​(Boolean includeInheritedFields)
        Creates a map of all field names and their value
        Specified by:
        getChildren in interface org.intocps.maestro.ast.node.INode
        Specified by:
        getChildren in interface PDeclaration
        Overrides:
        getChildren in class PDeclarationBase
        Parameters:
        includeInheritedFields - if true all inherited fields are included
        Returns:
        a a map of names to values of all fields
      • apply

        public void apply​(org.intocps.maestro.ast.analysis.intf.IAnalysis caller)
                   throws org.intocps.maestro.ast.analysis.AnalysisException
        Calls the IAnalysis.caseAModuleDeclaration(AModuleDeclaration) of the IAnalysis caller.
        Specified by:
        apply in interface org.intocps.maestro.ast.node.INode
        Specified by:
        apply in class org.intocps.maestro.ast.node.Node
        Parameters:
        caller - the IAnalysis to which this AModuleDeclaration node is applied
        Throws:
        org.intocps.maestro.ast.analysis.AnalysisException
      • apply

        public <A> A apply​(org.intocps.maestro.ast.analysis.intf.IAnswer<A> caller)
                    throws org.intocps.maestro.ast.analysis.AnalysisException
        Calls the IAnswer.caseAModuleDeclaration(AModuleDeclaration) of the IAnswer caller.
        Specified by:
        apply in interface org.intocps.maestro.ast.node.INode
        Specified by:
        apply in class org.intocps.maestro.ast.node.Node
        Parameters:
        caller - the IAnswer to which this AModuleDeclaration node is applied
        Returns:
        the answer as returned from caller
        Throws:
        org.intocps.maestro.ast.analysis.AnalysisException
      • apply

        public <Q> void apply​(org.intocps.maestro.ast.analysis.intf.IQuestion<Q> caller,
                              Q question)
                       throws org.intocps.maestro.ast.analysis.AnalysisException
        Calls the IQuestion.caseAModuleDeclaration(AModuleDeclaration, Object) of the IQuestion caller.
        Specified by:
        apply in interface org.intocps.maestro.ast.node.INode
        Specified by:
        apply in class org.intocps.maestro.ast.node.Node
        Parameters:
        caller - the IQuestion to which this AModuleDeclaration node is applied
        question - the question provided to caller
        Throws:
        org.intocps.maestro.ast.analysis.AnalysisException
      • apply

        public <Q,​A> A apply​(org.intocps.maestro.ast.analysis.intf.IQuestionAnswer<Q,​A> caller,
                                   Q question)
                            throws org.intocps.maestro.ast.analysis.AnalysisException
        Calls the IQuestionAnswer.caseAModuleDeclaration(AModuleDeclaration, Object) of the IQuestionAnswer caller.
        Specified by:
        apply in interface org.intocps.maestro.ast.node.INode
        Specified by:
        apply in class org.intocps.maestro.ast.node.Node
        Parameters:
        caller - the IQuestionAnswer to which this AModuleDeclaration node is applied
        question - the question provided to caller
        Returns:
        the answer as returned from answer
        Throws:
        org.intocps.maestro.ast.analysis.AnalysisException