001package org.clafer.ast;
002
003import org.clafer.common.Check;
004
005/**
006 *
007 * @author jimmy
008 */
009public class AstJoin implements AstSetExpr {
010
011    private final AstSetExpr left;
012    private final AstConcreteClafer right;
013
014    AstJoin(AstSetExpr left, AstConcreteClafer right) {
015        this.left = Check.notNull(left);
016        this.right = Check.notNull(right);
017    }
018
019    public AstSetExpr getLeft() {
020        return left;
021    }
022
023    public AstConcreteClafer getRight() {
024        return right;
025    }
026
027    @Override
028    public <A, B> B accept(AstExprVisitor<A, B> visitor, A a) {
029        return visitor.visit(this, a);
030    }
031
032    @Override
033    public String toString() {
034        return left + " . " + right;
035    }
036}