package org.hummingbirdlang.types.scope;

import org.hummingbirdlang.types.Type;

public interface Scope {
  // Loose visitor pattern: scopes accept visitors; if they have the name the
  // resolution is looking for then they push themselves onto the path and
  // assign the type, otherwise they push themselves onto the path and
  // recurse to their parent scope.
  public void accept(Resolution resolution) throws NameNotFoundException;

  public Type get(String name) throws NameNotFoundException;
  public void setLocal(String name, Type type);
  public Scope getParent();
}

@@ -435,16 +435,136 @@
 ption;%0A%0A
+  // Get the type for the given name. Should create a %60Resolution%60 and call%0A  // the %60accept%60 recursion under the hood.%0A
   public
@@ -616,16 +616,17 @@
 eption;%0A
+%0A
   public
@@ -665,16 +665,17 @@
  type);%0A
+%0A
   public

Improve documentation of `Scope` interface