package de.dhbwstuttgart.syntaxtree; import de.dhbwstuttgart.syntaxtree.statement.Expression; import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric; import org.antlr.v4.runtime.Token; public class GuardedPattern extends Pattern { private final Expression condition; private final Pattern nested; public GuardedPattern(Expression condition, Pattern nested, Token offset) { super(nested.getType(), offset); this.condition = condition; this.nested = nested; } public Expression getCondition() { return condition; } public Pattern getNestedPattern() { return nested; } @Override public void accept(ASTVisitor visitor) { visitor.visit(this); } @Override public GuardedPattern withType(RefTypeOrTPHOrWildcardOrGeneric type) { return new GuardedPattern(condition, nested, getOffset()); } }