whole_func_string: function(node) {
        var old = this.__scope;
        var scope = this.__scope = this.__scope.parent;
        var unresolved = scope.unresolved;
  
        for (var name in old.unresolved) {
          var entry = unresolved[name];
          if (!entry) {
            entry = unresolved[name] = {
              name: name,
              locations: []
            };
          }
          entry.locations.push.apply(entry.locations, old.unresolved[name].locations);
        }
      }
func_code_string: function(node) {
        var old = this.__scope;
        var scope = this.__scope = this.__scope.parent;
        var unresolved = scope.unresolved;
  
        for (var name in old.unresolved) {
          var entry = unresolved[name];
          if (!entry) {
            entry = unresolved[name] = {
              name: name,
              locations: []
            };
          }
          entry.locations.push.apply(entry.locations, old.unresolved[name].locations);
        }
      }
func_documentation_string: Pops a scope from the stack