code: function visitIdentifier(context, node, scope, state) {
    // check if this node matches our function id
    if (node.name !== state.name) return;
  
    // check that we don't have a local variable declared as that removes the need
    // for the wrapper
    var localDeclar = scope.getBindingIdentifier(state.name);
    if (localDeclar !== state.outerDeclar) return;
  
    state.selfReference = true;
    context.stop();
  }
docs: [Please add a description.]