Ejemplo n.º 1
0
  /**
   * Adds a new scope and returns its ID.
   *
   * @param scp scope to add
   * @return the scope's ID
   */
  private int add(final Scope scp) {
    final int id = scopes.size();
    if (id == MAP_THRESHOLD) {
      ids = new IdentityHashMap<>();
      for (final Scope s : scopes) ids.put(s, ids.size());
    }

    scopes.add(scp);
    adjacent.add(null);
    if (ids != null) ids.put(scp, id);
    return id;
  }