Consider the following:
interface Face {
setValue(String key, int val)
setValue(String key, long val)
setValue(String key, double val)
setValue(String key, boolean val)
}
interface Keys {
String ONE = 'one'
String TWO = 'two'
}
void test(Face face) {
face.with {
setValue(Keys.ONE, false)
}
}
Code hover (F2) should display "setValue(String,boolean)" for "setValue(Keys.ONE, false)".
Currently the first setter overload is chosen because the property expression is mapped to the type Object when choosing between overloads.
Consider the following:
Code hover (F2) should display "setValue(String,boolean)" for "setValue(Keys.ONE, false)".
Currently the first setter overload is chosen because the property expression is mapped to the type Object when choosing between overloads.