FirelyTeam / firely-cql-sdk

BSD 3-Clause "New" or "Revised" License
28 stars 16 forks source link

Fluent function collisions throw exceptions #453

Open EvanMachusak opened 1 month ago

EvanMachusak commented 1 month ago

In this example:

library Foo version '1.0.0'

define fluent function Conflict(x Integer): 'foo'
library Bar version '1.0.0'

define fluent function Conflict(x Integer): 'bar'
library Baz version '1.0.0'

include Foo version '1.0.0'
include Bar version '1.0.0'

define callsConflict: 1.Conflict()

Baz fails to compile as expected but does so by throwing an exception and terminating. Instead, an ambiguous error message should be added to the FunctionRef in callsConflict which details the two fluent functions that are both resolved here.