code: public Queue<Env<AttrContext>> flow(Queue<Env<AttrContext>> envs) {
          ListBuffer<Env<AttrContext>> results = new ListBuffer<>();
          for (Env<AttrContext> env: envs) {
              flow(env, results);
          }
          return stopIfError(CompileState.FLOW, results);
      }
docs: Perform dataflow checks on attributed parse trees.
  These include checks for definite assignment and unreachable statements.
  If any errors occur, an empty list will be returned.
  @return the list of attributed parse trees