Class LineNumberingNodeFactory

    • Constructor Detail

      • LineNumberingNodeFactory

        public LineNumberingNodeFactory​(NodeFactory root)
        Decorating constructor
        Parameters:
        root -
      • LineNumberingNodeFactory

        public LineNumberingNodeFactory()
        Default constructor which decorates a NodeFactory.
    • Method Detail

      • getLineNumber

        public static int getLineNumber​(Node node)
        Convenience method to get the line number of a node.
        Parameters:
        node -
        Returns:
        the line number
      • getColumn

        public static int getColumn​(Node node)
        Convenience method to get the column number of a node.
        Parameters:
        node -
        Returns:
        the column number
      • setPosition

        public static void setPosition​(Node node,
                                       int line,
                                       int col)
        Convenience method to set the line and column numbers for a node.
        Parameters:
        node - who's position will be set
        line - line number
        col - column number
      • setCurrentPosition

        public void setCurrentPosition​(int line,
                                       int col)
        Sets the current position which will be used the next time a node is created.
        Parameters:
        line -
        col -
      • getCurrentLine

        public int getCurrentLine()
        Gets the current line used when a node is created.
        Returns:
        the current line
      • getCurrentColumn

        public int getCurrentColumn()
        Gets the current column used when a node is created.
        Returns:
        the current column
      • buildConstantNode

        public ASTConstant buildConstantNode​(PostfixMathCommandI pfmc,
                                             Node... children)
                                      throws ParseException
        Description copied from class: NodeFactory
        Creates a constant node whose result is the given function applied to the children. This method replaces non varargs methods in Jep 3.4
        Overrides:
        buildConstantNode in class NodeFactory
        Parameters:
        pfmc - the function to apply
        children - the arguments to the function, each argument should be a constant node.
        Returns:
        a new constant node
        Throws:
        ParseException
      • buildFunctionNode

        public ASTFunNode buildFunctionNode​(ASTFunNode node,
                                            Node... arguments)
                                     throws ParseException
        Description copied from class: NodeFactory
        Builds a function with n arguments and same fun as specified in arguments.
        Overrides:
        buildFunctionNode in class NodeFactory
        Parameters:
        node - the properties (name and pfmc) of this node will be copied.
        arguments - the arguments to the function.
        Returns:
        top Node of expression
        Throws:
        ParseException
      • buildOperatorNode

        public ASTOpNode buildOperatorNode​(Operator op,
                                           Node... arguments)
                                    throws ParseException
        Description copied from class: NodeFactory
        Builds a operator node with n arguments This method should be sub-classed. This varargs method replaces corresponding non varargs methods from Jep 3.4
        Overrides:
        buildOperatorNode in class NodeFactory
        Parameters:
        op - the operator to use
        arguments - the arguments to the function.
        Returns:
        top Node of expression
        Throws:
        ParseException
      • buildVariableNodeCheckUndeclared

        public ASTVarNode buildVariableNodeCheckUndeclared​(java.lang.String name)
                                                    throws ParseException
        Description copied from class: NodeFactory
        Build a variable node checking for the undeclared status.
        Overrides:
        buildVariableNodeCheckUndeclared in class NodeFactory
        Parameters:
        name - name of the variable
        Returns:
        a new node
        Throws:
        ParseException - if undeclared variables are not allowed and the variable does not exist
      • init

        public void init​(Jep jep)
        Description copied from interface: JepComponent
        Initialize the component. This methods is called whenever a component is added to Jep. Hence it allows components to keep track of the other components they may rely on.
        Specified by:
        init in interface JepComponent
        Overrides:
        init in class NodeFactory
        Parameters:
        jep - the current Jep instance