Closed kubukoz closed 1 year ago
Looks like collectInlineInputOutputLocations
thinks both HelloWorldOutput
s are related to the operation in b.smithy
:
and it looks for the getEndPosition
of the operation b#HelloWorld
in the file a.smithy
:
so something is definitely happening around the file/operation matching. I'll try to get a test.
I have a test that reproduces this, but it only fails ~40% of the time (tested across 50 runs): https://github.com/disneystreaming/smithy-language-server/tree/iiobe-error-repro
To reproduce:
a.smithy
, with this content:b.smithy
, with this content:I debugged this a little bit while minimizing, and it's pretty obvious to me now that the problem is the
HelloWorld
naming conflict - somewhere in the file caching collector there's some logic that doesn't disambiguate the two operations, while it should.I'll investigate this further and work on a fix.