From 5ceefa3e3bb0af6b22e5a7e32a5ff134da159168 Mon Sep 17 00:00:00 2001 From: Andrey Zinovyev Date: Thu, 25 Mar 2021 12:30:17 +0300 Subject: [PATCH] [lombok] Support for class level @Getter --- .../testData/compile/gettersClassLevel.kt | 46 +++++++++++++++++++ .../lombok/LombokCompileTestGenerated.java | 5 ++ 2 files changed, 51 insertions(+) create mode 100644 plugins/lombok/lombok-compiler-plugin/testData/compile/gettersClassLevel.kt diff --git a/plugins/lombok/lombok-compiler-plugin/testData/compile/gettersClassLevel.kt b/plugins/lombok/lombok-compiler-plugin/testData/compile/gettersClassLevel.kt new file mode 100644 index 00000000000..31c0a0be9c5 --- /dev/null +++ b/plugins/lombok/lombok-compiler-plugin/testData/compile/gettersClassLevel.kt @@ -0,0 +1,46 @@ +//FILE: ClassLevelGetterTest.java + +import lombok.AccessLevel; +import lombok.Getter; + +@Getter +public class ClassLevelGetterTest { + private int age = 10; + + @Getter(AccessLevel.PROTECTED) private String name; + + private boolean primitiveBoolean; + + private Boolean boxedBoolean; + + void test() { + getAge(); + isPrimitiveBoolean(); + } + +} + + +//FILE: test.kt + +object Test { + fun usage() { + val obj = ClassLevelGetterTest() + val getter = obj.getAge() + val property = obj.age + + obj.isPrimitiveBoolean() + + obj.boxedBoolean + obj.getBoxedBoolean() + + //shouldn't be accesible from here +// obj.getName() + } + + class OverridenGetterTest : ClassLevelGetterTest() { + fun usage() { + getName() + } + } +} diff --git a/plugins/lombok/lombok-compiler-plugin/tests/org/jetbrains/kotlin/lombok/LombokCompileTestGenerated.java b/plugins/lombok/lombok-compiler-plugin/tests/org/jetbrains/kotlin/lombok/LombokCompileTestGenerated.java index df7bb613beb..32fa60f56dd 100644 --- a/plugins/lombok/lombok-compiler-plugin/tests/org/jetbrains/kotlin/lombok/LombokCompileTestGenerated.java +++ b/plugins/lombok/lombok-compiler-plugin/tests/org/jetbrains/kotlin/lombok/LombokCompileTestGenerated.java @@ -29,6 +29,11 @@ public class LombokCompileTestGenerated extends AbstractLombokCompileTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/lombok/lombok-compiler-plugin/testData/compile"), Pattern.compile("^(.+)\\.kt$"), null, true); } + @TestMetadata("gettersClassLevel.kt") + public void testGettersClassLevel() throws Exception { + runTest("plugins/lombok/lombok-compiler-plugin/testData/compile/gettersClassLevel.kt"); + } + @TestMetadata("gettersFluent.kt") public void testGettersFluent() throws Exception { runTest("plugins/lombok/lombok-compiler-plugin/testData/compile/gettersFluent.kt");