Eugene Lukash
Eugene Lukash
moving `env.initProcessing(processingEnv);` into the `boolean process(` (guarded to only be called on the first round) did not changed the heap dump structure, just, predictably, custom immutable annotation extension stopped to...
@Stephan202 thank you! Pushed these changes. If that helps, i'm fully ok with the change. Because `EnvironmentState` is pinned as a field of the annotation processor, it should stay reachable...
That's makes sense, thank you for more context/explanation. This change is pending the release for some time now, I just got overwhelmed with other stuff, but also I need to...
just a heads up for 2.9.1 released, closing this, hopefully fixed :)
Current behavior is correct, if B extends A, then if ImmutableB implements B, its automatically implements A. Tools and Java language recognizes that (`immubleB instanceof B == true`, `immubleB instanceof...
The first thing I can think of is if `org.checkerframework.checker.nullness.qual.Nullable` is source only annotation (`RetentionPolicy.SOURCE`), so if it's already compiled (in a separate jar) it's completely erased/untraceable (the use sites/signatures...
Ok, second guess, is `qual.Nullable` available on the compilation classpath during annotation processing? Probably yes, but if not then it might be why `getAnnotationMirrors` would not load it.
Yes, that is definitely the case, if `getAnnotationMirrors` is called on the `Element` (ie. `ExecutableElement` for a method) it will definitely not have annotations coming from say `element.getReturnType().getAnnotationMirrors()` (`TypeMirror.getAnnotationMirrors`). I...
well, I just discovered that maybe we do handle type annotations for nullability (see `initTypeName()`) ```java if (provider.nullableTypeAnnotation) { this.nullability = NullabilityAnnotationInfo.forTypeUse(); } ``` where `provider.nullableTypeAnnotation` is being discovered in...
```java private StringBuilder typeAnnotationsToBuffer(List