Eugene Lukash

Results 336 comments of 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...