Why CtFieldReference#IS_FINAL #IS_STATIC, CtExecutableReference#IS_STATIC ?
- Dominant language
- Java
- Stars
- 2k
- Forks
- 392
- Avg merge
- 11h 24m
- Merged PRs (30d)
- 36
Description
@monperrus
Do you know why CtFieldReference has **non derived** roles:
* IS_FINAL
* IS_STATIC
Do you know why CtExecutableReference has **non derived** role:
* IS_STATIC
I can see reason for `static` on CtExecutableReference and CtFieldReference. E.g. here:
```java
class A {
static void method() {}
}
... some code...
//non static call of static method
this.method();
//static call of static method
A.method();
```
but why `final`? I guess that `CtFieldReference#isFinal()` might be derived.
WDYT?
Contributor guide
Research direction
Start by reviewing the CtFieldReference and CtExecutableReference role definitions, focusing on IS_FINAL and IS_STATIC and whether each is derived. Done requires a maintainer decision on the intended API semantics; the issue does not specify a concrete code or test change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100