package com.babel17.interpreter.program; public final class StVal extends Statement { public StVal(int[] assignments, Pattern pattern, Expr body, Statement next) { super(next); this.assignments = new int[assignments.length]; for (int i=0; i<assignments.length; i++) this.assignments[i] = assignments[i]; this.pattern = pattern; this.body = body; } public boolean assign() { return assignments != null; } public int countAssignments() { return assignments.length; } public int assignment(int i) { return assignments[i]; } public int kind() { if (body instanceof ExprWith) return KIND_VAL_WITH; else return KIND_VAL; } public Pattern pattern() { return pattern; } public Expr body() { return body; } private int[] assignments; private Pattern pattern; private Expr body; }