FunctionDeclaration(path, state) {
      var node = path.node
      if (!node.loc || !isSaga(path)) return

      var functionName = node.id.name
      var filename = getFilename(state.file.opts, state.opts.useAbsolutePath)

      var locationData = calcLocation(node.loc, filename)

      const extendedDeclaration = createLocationExtender(t.identifier(functionName), locationData)

      // https://github.com/babel/babel/issues/4007
      if (path.parentPath.isExportDefaultDeclaration() || path.parentPath.isExportDeclaration()) {
        path.parentPath.insertAfter(extendedDeclaration)
      } else {
        path.insertAfter(extendedDeclaration)
      }
    }
attach location info object to saga

@example
input
 function * effectHandler(){}
output
 function * effectHandler(){}
 Object.defineProperty(effectHandler, "@@redux-saga/LOCATION", {
   value: { fileName: ..., lineNumber: ... }
 })