code: Var declare(String name, Node nameNode, CompilerInput input) {
      checkArgument(!name.isEmpty());
      // Make sure that it's declared only once
      checkState(getOwnSlot(name) == null);
      Var var = new Var(name, nameNode, this, getVarCount(), input);
      declareInternal(name, var);
      return var;
    }
docs: Non-final for PersisteneScope.