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}