public Object visit()

in core/src/main/java/org/apache/jsieve/SieveParserVisitorImpl.java [166:188]


    public Object visit(ASTcommand node, Object data) throws SieveException {
        List children = new ArrayList(node.jjtGetNumChildren());
        children = ((List) node.childrenAccept(this, children));

        // Extract the Arguments and Block from the children
        Iterator childrenIter = children.iterator();
        Arguments arguments = null;
        Block block = null;
        while (childrenIter.hasNext()) {
            Object next = childrenIter.next();
            if (next instanceof Arguments)
                arguments = (Arguments) next;
            else if (next instanceof Block)
                block = (Block) next;
        }

        context.setCoordinate(node.getCoordinate());
        final ScriptCoordinate coordinate = context.getCoordinate();
        Command command = new Command(node.getName(), arguments, block,
                coordinate);
        ((List) data).add(command);
        return data;
    }