private List<StatEdge> getEdges(int type, EdgeDirection direction) {

    Map<Integer, List<StatEdge>> map = direction == EdgeDirection.BACKWARD ? mapPredEdges : mapSuccEdges;

    List<StatEdge> res;
    if ((type & (type - 1)) == 0) {
      res = map.get(type);
      res = res == null ? new ArrayList<>() : new ArrayList<>(res);
    }
    else {
      res = new ArrayList<>();
      for (int edgetype : StatEdge.TYPES) {
        if ((type & edgetype) != 0) {
          List<StatEdge> lst = map.get(edgetype);
          if (lst != null) {
            res.addAll(lst);
          }
        }
      }
    }

    return res;
  }
Gets the implicitly defined variables in this statement.

@return A list of {@link VarExprent}s that are implicitly defined. Can be null or empty if none exist.
src/org/jetbrains/java/decompiler/modules/decompiler/stats/Statement.java