diff options
author | Reinier Zwitserloot <r.zwitserloot@projectlombok.org> | 2020-10-03 23:55:10 +0200 |
---|---|---|
committer | Reinier Zwitserloot <r.zwitserloot@projectlombok.org> | 2020-10-03 23:55:10 +0200 |
commit | 14cce76805324dce66fcdfde333a63c677694d64 (patch) | |
tree | 18001068c7052e08ee85a2df565f4be9902ca448 /test/transform/resource/after-delombok | |
parent | 07e921d2b19a660df28e03ee1ed1d0315d5e3458 (diff) | |
download | lombok-14cce76805324dce66fcdfde333a63c677694d64.tar.gz lombok-14cce76805324dce66fcdfde333a63c677694d64.tar.bz2 lombok-14cce76805324dce66fcdfde333a63c677694d64.zip |
[builder] big refactor: Fixing CheckerFramework features + all params now in an object
These handlers had methods with humongous argument lists, and they needed to grow even more in order
to accommodate some new needs to properly implement checkerframework (where annos can be type-use
based, which means they were being put in the wrong place.
void foo(com.foo.@X Bar paramName) // correct
void foo(@X com.foo.Bar paramName) // wrong
For example, the CalledMethod annotation is a type-use annotation.
This commit covers both that refactor and fixing checkerframework generation.
Diffstat (limited to 'test/transform/resource/after-delombok')
3 files changed, 40 insertions, 44 deletions
diff --git a/test/transform/resource/after-delombok/CheckerFrameworkBasic.java b/test/transform/resource/after-delombok/CheckerFrameworkBasic.java index 3077728c..c9b73d7c 100644 --- a/test/transform/resource/after-delombok/CheckerFrameworkBasic.java +++ b/test/transform/resource/after-delombok/CheckerFrameworkBasic.java @@ -2,12 +2,6 @@ class CheckerFrameworkBasic { private final int x; private final int y; private int z; - @org.checkerframework.common.aliasing.qual.Unique - @java.lang.SuppressWarnings("all") - public CheckerFrameworkBasic(final int x, final int y) { - this.x = x; - this.y = y; - } @org.checkerframework.dataflow.qual.Pure @java.lang.SuppressWarnings("all") public int getX() { @@ -23,7 +17,7 @@ class CheckerFrameworkBasic { public int getZ() { return this.z; } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") public CheckerFrameworkBasic setZ(final int z) { this.z = z; @@ -64,6 +58,12 @@ class CheckerFrameworkBasic { public java.lang.String toString() { return "CheckerFrameworkBasic(x=" + this.getX() + ", y=" + this.getY() + ", z=" + this.getZ() + ")"; } + @java.lang.SuppressWarnings("all") + public CheckerFrameworkBasic(final int x, final int y, final int z) { + this.x = x; + this.y = y; + this.z = z; + } @org.checkerframework.dataflow.qual.SideEffectFree @java.lang.SuppressWarnings("all") public CheckerFrameworkBasic withX(final int x) { diff --git a/test/transform/resource/after-delombok/CheckerFrameworkBuilder.java b/test/transform/resource/after-delombok/CheckerFrameworkBuilder.java index ace3adad..213a1af6 100644 --- a/test/transform/resource/after-delombok/CheckerFrameworkBuilder.java +++ b/test/transform/resource/after-delombok/CheckerFrameworkBuilder.java @@ -9,7 +9,6 @@ class CheckerFrameworkBuilder { private static int $default$x() { return 5; } - @org.checkerframework.common.aliasing.qual.Unique @java.lang.SuppressWarnings("all") CheckerFrameworkBuilder(final int x, final int y, final int z, final List<String> names) { this.x = x; @@ -29,37 +28,36 @@ class CheckerFrameworkBuilder { private int z; @java.lang.SuppressWarnings("all") private java.util.ArrayList<String> names; - @org.checkerframework.common.aliasing.qual.Unique @java.lang.SuppressWarnings("all") CheckerFrameworkBuilderBuilder() { } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") - public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder x(@org.checkerframework.checker.builder.qual.NotCalledMethods("x") CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder this, final int x) { + public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder x(CheckerFrameworkBuilder.@org.checkerframework.checker.objectconstruction.qual.NotCalledMethods("x") CheckerFrameworkBuilderBuilder this, final int x) { this.x$value = x; x$set = true; return this; } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") - public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder y(@org.checkerframework.checker.builder.qual.NotCalledMethods("y") CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder this, final int y) { + public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder y(CheckerFrameworkBuilder.@org.checkerframework.checker.objectconstruction.qual.NotCalledMethods("y") CheckerFrameworkBuilderBuilder this, final int y) { this.y = y; return this; } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") - public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder z(@org.checkerframework.checker.builder.qual.NotCalledMethods("z") CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder this, final int z) { + public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder z(CheckerFrameworkBuilder.@org.checkerframework.checker.objectconstruction.qual.NotCalledMethods("z") CheckerFrameworkBuilderBuilder this, final int z) { this.z = z; return this; } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder name(final String name) { if (this.names == null) this.names = new java.util.ArrayList<String>(); this.names.add(name); return this; } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder names(final java.util.Collection<? extends String> names) { if (names == null) { @@ -69,7 +67,7 @@ class CheckerFrameworkBuilder { this.names.addAll(names); return this; } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder clearNames() { if (this.names != null) this.names.clear(); @@ -77,7 +75,7 @@ class CheckerFrameworkBuilder { } @org.checkerframework.dataflow.qual.SideEffectFree @java.lang.SuppressWarnings("all") - public CheckerFrameworkBuilder build(@org.checkerframework.checker.builder.qual.CalledMethods({"y", "z"}) CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder this) { + public CheckerFrameworkBuilder build(CheckerFrameworkBuilder.@org.checkerframework.checker.objectconstruction.qual.CalledMethods({"y", "z"}) CheckerFrameworkBuilderBuilder this) { java.util.List<String> names; switch (this.names == null ? 0 : this.names.size()) { case 0: @@ -100,10 +98,10 @@ class CheckerFrameworkBuilder { return "CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder(x$value=" + this.x$value + ", y=" + this.y + ", z=" + this.z + ", names=" + this.names + ")"; } } - @org.checkerframework.common.aliasing.qual.Unique + @org.checkerframework.dataflow.qual.SideEffectFree @java.lang.SuppressWarnings("all") - public static CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder builder() { + public static CheckerFrameworkBuilder.@org.checkerframework.common.aliasing.qual.Unique CheckerFrameworkBuilderBuilder builder() { return new CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder(); } } diff --git a/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java b/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java index 30408c3b..18e4e333 100644 --- a/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java +++ b/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java @@ -22,40 +22,40 @@ class CheckerFrameworkSuperBuilder { private int z; @java.lang.SuppressWarnings("all") private java.util.ArrayList<String> names; - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @org.checkerframework.dataflow.qual.Pure @java.lang.SuppressWarnings("all") protected abstract B self(); @org.checkerframework.dataflow.qual.SideEffectFree @java.lang.SuppressWarnings("all") - public abstract C build(@org.checkerframework.checker.builder.qual.CalledMethods({"y", "z"}) CheckerFrameworkSuperBuilder.Parent this); - @org.checkerframework.checker.builder.qual.ReturnsReceiver + public abstract C build(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.objectconstruction.qual.CalledMethods({"y", "z"}) ParentBuilder<C, B> this); + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") - public B x(@org.checkerframework.checker.builder.qual.NotCalledMethods("x") CheckerFrameworkSuperBuilder.Parent.ParentBuilder<C, B> this, final int x) { + public B x(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.objectconstruction.qual.NotCalledMethods("x") ParentBuilder<C, B> this, final int x) { this.x$value = x; x$set = true; return self(); } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") - public B y(@org.checkerframework.checker.builder.qual.NotCalledMethods("y") CheckerFrameworkSuperBuilder.Parent.ParentBuilder<C, B> this, final int y) { + public B y(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.objectconstruction.qual.NotCalledMethods("y") ParentBuilder<C, B> this, final int y) { this.y = y; return self(); } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") - public B z(@org.checkerframework.checker.builder.qual.NotCalledMethods("z") CheckerFrameworkSuperBuilder.Parent.ParentBuilder<C, B> this, final int z) { + public B z(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.objectconstruction.qual.NotCalledMethods("z") ParentBuilder<C, B> this, final int z) { this.z = z; return self(); } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") public B name(final String name) { if (this.names == null) this.names = new java.util.ArrayList<String>(); this.names.add(name); return self(); } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") public B names(final java.util.Collection<? extends String> names) { if (names == null) { @@ -65,7 +65,7 @@ class CheckerFrameworkSuperBuilder { this.names.addAll(names); return self(); } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") public B clearNames() { if (this.names != null) this.names.clear(); @@ -80,12 +80,11 @@ class CheckerFrameworkSuperBuilder { } @java.lang.SuppressWarnings("all") private static final class ParentBuilderImpl extends CheckerFrameworkSuperBuilder.Parent.ParentBuilder<CheckerFrameworkSuperBuilder.Parent, CheckerFrameworkSuperBuilder.Parent.ParentBuilderImpl> { - @org.checkerframework.common.aliasing.qual.Unique @java.lang.SuppressWarnings("all") private ParentBuilderImpl() { } @java.lang.Override - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @org.checkerframework.dataflow.qual.Pure @java.lang.SuppressWarnings("all") protected CheckerFrameworkSuperBuilder.Parent.ParentBuilderImpl self() { @@ -94,7 +93,7 @@ class CheckerFrameworkSuperBuilder { @org.checkerframework.dataflow.qual.SideEffectFree @java.lang.Override @java.lang.SuppressWarnings("all") - public CheckerFrameworkSuperBuilder.Parent build(@org.checkerframework.checker.builder.qual.CalledMethods({"y", "z"}) CheckerFrameworkSuperBuilder.Parent.ParentBuilderImpl this) { + public CheckerFrameworkSuperBuilder.Parent build(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.objectconstruction.qual.CalledMethods({"y", "z"}) ParentBuilderImpl this) { return new CheckerFrameworkSuperBuilder.Parent(this); } } @@ -140,24 +139,24 @@ class CheckerFrameworkSuperBuilder { @java.lang.SuppressWarnings("all") private int b; @java.lang.Override - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @org.checkerframework.dataflow.qual.Pure @java.lang.SuppressWarnings("all") protected abstract B self(); @org.checkerframework.dataflow.qual.SideEffectFree @java.lang.Override @java.lang.SuppressWarnings("all") - public abstract C build(@org.checkerframework.checker.builder.qual.CalledMethods("b") CheckerFrameworkSuperBuilder.ZChild this); - @org.checkerframework.checker.builder.qual.ReturnsReceiver + public abstract C build(CheckerFrameworkSuperBuilder.ZChild.@org.checkerframework.checker.objectconstruction.qual.CalledMethods("b") ZChildBuilder<C, B> this); + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") - public B a(@org.checkerframework.checker.builder.qual.NotCalledMethods("a") CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<C, B> this, final int a) { + public B a(CheckerFrameworkSuperBuilder.ZChild.@org.checkerframework.checker.objectconstruction.qual.NotCalledMethods("a") ZChildBuilder<C, B> this, final int a) { this.a$value = a; a$set = true; return self(); } - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @java.lang.SuppressWarnings("all") - public B b(@org.checkerframework.checker.builder.qual.NotCalledMethods("b") CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<C, B> this, final int b) { + public B b(CheckerFrameworkSuperBuilder.ZChild.@org.checkerframework.checker.objectconstruction.qual.NotCalledMethods("b") ZChildBuilder<C, B> this, final int b) { this.b = b; return self(); } @@ -170,12 +169,11 @@ class CheckerFrameworkSuperBuilder { } @java.lang.SuppressWarnings("all") private static final class ZChildBuilderImpl extends CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<CheckerFrameworkSuperBuilder.ZChild, CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl> { - @org.checkerframework.common.aliasing.qual.Unique @java.lang.SuppressWarnings("all") private ZChildBuilderImpl() { } @java.lang.Override - @org.checkerframework.checker.builder.qual.ReturnsReceiver + @org.checkerframework.common.returnsreceiver.qual.This @org.checkerframework.dataflow.qual.Pure @java.lang.SuppressWarnings("all") protected CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl self() { @@ -184,7 +182,7 @@ class CheckerFrameworkSuperBuilder { @org.checkerframework.dataflow.qual.SideEffectFree @java.lang.Override @java.lang.SuppressWarnings("all") - public CheckerFrameworkSuperBuilder.ZChild build(@org.checkerframework.checker.builder.qual.CalledMethods("b") CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl this) { + public CheckerFrameworkSuperBuilder.ZChild build(CheckerFrameworkSuperBuilder.ZChild.@org.checkerframework.checker.objectconstruction.qual.CalledMethods("b") ZChildBuilderImpl this) { return new CheckerFrameworkSuperBuilder.ZChild(this); } } |