// Path: src/main/java/com/evolvedbinary/xpath/parser/ast/AbstractOperand.java
// public abstract class AbstractOperand extends AbstractASTNode {
// 
//     //TODO(AR) make generic and move constructor etc from sub-classes into here
// }
// 
// Path: src/main/java/com/evolvedbinary/xpath/parser/ast/AndExpr.java
// public class AndExpr extends AbstractOperandWithOps<AbstractOperand> {
// 
//     public AndExpr(final AbstractOperand operand, final List<? extends AbstractOperand> andOps) {
//         super(operand, andOps);
//     }
// 
//     public AndExpr(final AbstractOperand operand, final AbstractOperand... andOps) {
//         super(operand, Arrays.asList(andOps));
//     }
// 
//     @Override
//     protected void describeOp(final StringBuilder builder, final AbstractOperand andOp) {
//         builder
//                 .append(" and ")
//                 .append(andOp);
//     }
// }


import java.util.List;
import com.evolvedbinary.xpath.parser.ast.AbstractOperand;
import com.evolvedbinary.xpath.parser.ast.AndExpr;
/**
 * XPath 2 Parser
 * A Parser for XPath 2
 * Copyright (C) 2016 Evolved Binary Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
package com.evolvedbinary.xpath.parser.ast.partial;



/**
 * Created by aretter on 15/02/2016.
 */
public class PartialAndExpr extends AbstractPartialASTNode<AndExpr, List<AbstractOperand>> {
    private final AbstractOperand operand;

    public PartialAndExpr(final AbstractOperand operand) {
        this.operand = operand;
    }

    @Override
    protected String describe() {
        return "AndExpr(" + operand + ", ?...)";
    }

    @Override
// Path: src/main/java/com/evolvedbinary/xpath/parser/ast/AbstractOperand.java
// public abstract class AbstractOperand extends AbstractASTNode {
// 
//     //TODO(AR) make generic and move constructor etc from sub-classes into here
// }
// 
// Path: src/main/java/com/evolvedbinary/xpath/parser/ast/AndExpr.java
// public class AndExpr extends AbstractOperandWithOps<AbstractOperand> {
// 
//     public AndExpr(final AbstractOperand operand, final List<? extends AbstractOperand> andOps) {
//         super(operand, andOps);
//     }
// 
//     public AndExpr(final AbstractOperand operand, final AbstractOperand... andOps) {
//         super(operand, Arrays.asList(andOps));
//     }
// 
//     @Override
//     protected void describeOp(final StringBuilder builder, final AbstractOperand andOp) {
//         builder
//                 .append(" and ")
//                 .append(andOp);
//     }
// }


// Path: src/main/java/com/evolvedbinary/xpath/parser/ast/partial/PartialAndExpr.java
import java.util.List;
import com.evolvedbinary.xpath.parser.ast.AbstractOperand;
import com.evolvedbinary.xpath.parser.ast.AndExpr;

/**
 * XPath 2 Parser
 * A Parser for XPath 2
 * Copyright (C) 2016 Evolved Binary Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
package com.evolvedbinary.xpath.parser.ast.partial;



/**
 * Created by aretter on 15/02/2016.
 */
public class PartialAndExpr extends AbstractPartialASTNode<AndExpr, List<AbstractOperand>> {
    private final AbstractOperand operand;

    public PartialAndExpr(final AbstractOperand operand) {
        this.operand = operand;
    }

    @Override
    protected String describe() {
        return "AndExpr(" + operand + ", ?...)";
    }

    @Override
    public AndExpr complete(final List<AbstractOperand> andOps) {