DevTools named hook parsing logic currently matches AST nodes using the original line number:
https://github.com/facebook/react/blob/ed6c091fe961a3b95e956ebcefe8f152177b1fb7/packages/react-devtools-extensions/src/parseHookNames.js#L341-L346

But this may not be sufficient, as mentioned in comment https://github.com/facebook/react/pull/21641#discussion_r662951987:
> Are we assuming that a line number is sufficient to identify a hook call? Seems like that assumption breaks down in edge cases:
>
> 1. Minified code (either without a source map, or a bundle *built* from pre-minified inputs) can have multiple hooks on one line.
> 2. Some code might be authored with quirky formatting, i.e. not with a typical Prettier / ESLint setup.
);
          console.log(runtimeSourceCode);
          console.groupEnd();
        }
        return runtimeSourceCode;
      });
    fetchPromises.set(runtimeSourceURL, fetchPromise);
    setPromises.push(
      fetchPromise.then(runtimeSourceCode => {
        hookSourceData.runtimeSourceCode = runtimeSourceCode;
      }),
    );
  });
  return Promise.all(setPromises);
}
async function parseSourceAST(
  locationKeyToHookSourceData: Map<string, HookSourceData>,
): Promise<*> {
  locationKeyToHookSourceData.forEach(hookSourceData => {
    if (hookSourceData.originalSourceAST !== null) {
      
      return;
    }
    const {sourceConsumer} = hookSourceData;
    const runtimeSourceCode = ((hookSourceData.runtimeSourceCode: any): string);
    let originalSourceURL, originalSourceCode;
    if (sourceConsumer !== null) {
      
      const {lineNumber, columnNumber} = hookSourceData.hookSource;
      if (lineNumber == null || columnNumber == null) {