Consider the following:
trait T {
Number number
}
class C implements T {
def m() {
def n = number
number = 'value'
n = this.number
this.number = 'value'
n = getNumber()
setNumber('value')
n = T.super.number
T.super.number = 'value'
}
}
The property expressions "number" within C.m() are inconsistently highlighted (see below) and code hover shows C.getNumber() or C.setNumber(Number value) instead of T.number or T.getNumber() or T.setNumber(Number value).


Consider the following:
trait T { Number number } class C implements T { def m() { def n = number number = 'value' n = this.number this.number = 'value' n = getNumber() setNumber('value') n = T.super.number T.super.number = 'value' } }The property expressions "number" within
C.m()are inconsistently highlighted (see below) and code hover showsC.getNumber()orC.setNumber(Number value)instead ofT.numberorT.getNumber()orT.setNumber(Number value).