public PatternNode enter(Tree[] pats, PatternNode target, Symbol casted, CaseEnv env) { switch (target) { case ConstrPat(Symbol newCasted): casted = newCasted; break; case SequencePat(Symbol newCasted, int len): casted = newCasted; break; } for (int i = 0; i < pats.length; i++) target = enter1(pats[i], i, target, casted, env); return target;
public void enter(Tree[] cases) { for( int i = 0; i < cases.length; i++ ) enter(cases[i]);
    public PatternNode enter(Tree[] pats, PatternNode target, Symbol casted, CaseEnv env) {        switch (target) {            case ConstrPat(Symbol newCasted):                casted = newCasted;                break;            case SequencePat(Symbol newCasted, int len):                casted = newCasted;                break;        }        for (int i = 0; i < pats.length; i++)            target = enter1(pats[i], i, target, casted, env);        return target;    }