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(`fetchFile() Got bad response for url "${url}"`);
        }
        reject(null);
      }
    });
  });
}
function findHookNames(
  hooksList: Array<HooksNode>,
  locationKeyToHookSourceData: Map<string, HookSourceData>,
): HookNames {
  const map: HookNames = new Map();
  hooksList.map(hook => {
    
    const hookSource = ((hook.hookSource: any): HookSource);
    const fileName = hookSource.fileName;
    if (!fileName) {
      return null; 
    }
    const locationKey = getHookSourceLocationKey(hookSource);
    const hookSourceData = locationKeyToHookSourceData.get(locationKey);
    if (!hookSourceData) {
      return null; 
    }
    const {lineNumber, columnNumber} = hookSource;
    if (!lineNumber || !columnNumber) {
      return null; 
    }
    const sourceConsumer = hookSourceData.sourceConsumer;
    let originalSourceColumnNumber;