I wonder if we could save some duplicate work. The call to `getSymbolType` is performed for each symbol, a few lines below, inside `getSymbolInfo`, so this line introduces another call (a large file can have tens of thousands of symbols). This is a potentially expensive operation (might need to call in the compiler, which involves some synchronization).

Could `inInterpolatedString` be computed later, inside `getSymbolInfo`? That would also save the short-lived `SymbolGroup` instances.

Semantic highlighting can have a huge impact on editor responsiveness, so this part of the code is extremely performance-sensitive. @dotta will write a technical blog about it ;-)