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.
}
    } else {
      
      originalSourceCode = runtimeSourceCode;
      
      
      originalSourceURL = hookSourceData.runtimeSourceURL;
    }
    hookSourceData.originalSourceCode = originalSourceCode;
    hookSourceData.originalSourceURL = originalSourceURL;
    
    
    const sourceMetadata = originalURLToMetadataCache.get(originalSourceURL);
    if (sourceMetadata != null) {
      if (__DEBUG__) {
        console.groupCollapsed(
          `parseSourceAST() Found cached source metadata for "${originalSourceURL}"`,
        );
        console.log(sourceMetadata);
        console.groupEnd();
      }
      hookSourceData.originalSourceAST = sourceMetadata.originalSourceAST;
      hookSourceData.originalSourceCode = sourceMetadata.originalSourceCode;
    } else {
      
      
      const plugin =
        originalSourceCode.indexOf('@flow') > 0 ? 'flow' : 'typescript';
      
      const originalSourceAST = parse(originalSourceCode, {