[Lombok] Add implementation of plugin for FIR
This commit is contained in:
committed by
teamcity
parent
e58e86932c
commit
a84ece7233
@@ -0,0 +1,27 @@
|
||||
// KT-46529
|
||||
|
||||
// FILE: PrefixJava.java
|
||||
|
||||
import lombok.*;
|
||||
import lombok.experimental.*;
|
||||
|
||||
@Getter @Setter @Accessors(chain = false, fluent = true, prefix = {"pxo"})
|
||||
public class PrefixJava {
|
||||
private String pxaPropA = "A";
|
||||
@Accessors(chain = true) private String pxoPropC = "C";
|
||||
@Accessors private String pxaPropD = "D";
|
||||
}
|
||||
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun test() {
|
||||
//not generated because doesn't have prefix from class level @Accessors
|
||||
assertEquals(<!ARGUMENT_TYPE_MISMATCH!>PrefixJava().<!UNRESOLVED_REFERENCE!>propA<!><!>, "A")
|
||||
//not generated because doesn't have prefix from config
|
||||
assertEquals(<!ARGUMENT_TYPE_MISMATCH!>PrefixJava().<!UNRESOLVED_REFERENCE!>propC<!><!>, "C")
|
||||
assertEquals(PrefixJava().propD, "D")
|
||||
}
|
||||
|
||||
// FILE: lombok.config
|
||||
lombok.accessors.prefix += pxa
|
||||
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
// KT-46529
|
||||
|
||||
// FILE: PrefixJava.java
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
// FILE: GetterTest.java
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
|
||||
public class GetterTest {
|
||||
@Getter private int age = 10;
|
||||
|
||||
@Getter(AccessLevel.PROTECTED) private String name;
|
||||
|
||||
@Getter private boolean primitiveBoolean;
|
||||
|
||||
@Getter private Boolean boxedBoolean;
|
||||
|
||||
@Getter(AccessLevel.NONE) private Boolean invisible;
|
||||
|
||||
void test() {
|
||||
getAge();
|
||||
isPrimitiveBoolean();
|
||||
// getInvisible();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun test() {
|
||||
val obj = GetterTest()
|
||||
val getter = obj.getAge()
|
||||
val property = obj.age
|
||||
|
||||
//todo kotlin doesn't seee isBoolean methods as property
|
||||
obj.<!INVISIBLE_REFERENCE!>primitiveBoolean<!>
|
||||
obj.isPrimitiveBoolean()
|
||||
|
||||
obj.boxedBoolean
|
||||
obj.getBoxedBoolean()
|
||||
|
||||
//shouldn't be accesible from here
|
||||
obj.<!INVISIBLE_REFERENCE!>getName<!>()
|
||||
|
||||
obj.<!UNRESOLVED_REFERENCE!>getInvisible<!>()
|
||||
|
||||
OverridenGetterTest().usage()
|
||||
}
|
||||
|
||||
class OverridenGetterTest : GetterTest() {
|
||||
fun usage() {
|
||||
getName()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: GetterTest.java
|
||||
|
||||
import lombok.AccessLevel;
|
||||
|
||||
@@ -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
|
||||
|
||||
fun test() {
|
||||
val obj = ClassLevelGetterTest()
|
||||
val getter = obj.getAge()
|
||||
val property = obj.age
|
||||
|
||||
obj.isPrimitiveBoolean()
|
||||
|
||||
obj.boxedBoolean
|
||||
obj.getBoxedBoolean()
|
||||
|
||||
//shouldn't be accesible from here
|
||||
obj.<!INVISIBLE_REFERENCE!>getName<!>()
|
||||
|
||||
OverridenGetterTest().usage()
|
||||
}
|
||||
|
||||
class OverridenGetterTest : ClassLevelGetterTest() {
|
||||
fun usage() {
|
||||
getName()
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: ClassLevelGetterTest.java
|
||||
|
||||
import lombok.AccessLevel;
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
// FILE: SetterTest.java
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Setter;
|
||||
import lombok.Getter;
|
||||
|
||||
public class SetterTest {
|
||||
@Getter @Setter private int age = 10;
|
||||
|
||||
@Setter(AccessLevel.PROTECTED) private String name;
|
||||
|
||||
@Setter private boolean primitiveBoolean;
|
||||
|
||||
void test() {
|
||||
setAge(12);
|
||||
setPrimitiveBoolean(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun test() {
|
||||
val obj = SetterTest()
|
||||
obj.setAge(42)
|
||||
obj.age = 42
|
||||
|
||||
//synthetic property generated only when there is a getter
|
||||
obj.<!INVISIBLE_REFERENCE!>primitiveBoolean<!> = false
|
||||
obj.setPrimitiveBoolean(true)
|
||||
|
||||
//shouldn't be accesible from here
|
||||
obj.<!INVISIBLE_REFERENCE!>setName<!>("abc")
|
||||
|
||||
OverridenGetterTest().usage()
|
||||
}
|
||||
|
||||
class OverridenGetterTest : SetterTest() {
|
||||
fun usage() {
|
||||
setName("abc")
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: SetterTest.java
|
||||
|
||||
import lombok.AccessLevel;
|
||||
|
||||
Reference in New Issue
Block a user