Files
openidea/java/java-usages/tests/ReadWrite.java
T
l0ng-ai 014f51ae54 chore: move the JDT LS components out of plugins/ (#1292)
java-usages, kotlin-bridge and the patched Lombok agent are JDT LS bundles and a Java agent embedded into the app, not OpenIDEA plugins. Move them to java/ so plugins/ holds only plugins, and update the paths that embed or mention them.

Also fix the stale build path in the hello fixture and the contributor guide's layout (there is no templates/ directory; starter templates live in the openidea-plugin CLI).
2026-11-04 22:11:38 +08:00

25 lines
1.0 KiB
Java

import lombok.*;
import lombok.experimental.Accessors;
interface Counter { int getCount(); void setCount(int value); }
@Data class Bean implements Counter { public int count; public Bean next; public int[] items; }
class Child extends Bean {}
@Data @Accessors(fluent=true, chain=true) class Fluent { public int score; }
class Use {
void uses(Bean b, Child c, Counter i, Fluent f) {
int read = b.count; // read
b.count = 1; // write
b.count += 2; // readWrite
b.count++; // readWrite
--b.count; // readWrite
b.setCount(b.getCount()); // setter write, getter read; nested invocation ranges
c.setCount(c.getCount()); // inherited
i.setCount(i.getCount()); // interface
java.util.function.IntSupplier ref = b::getCount; // unknown
java.util.function.IntConsumer writeRef = b::setCount; // unknown
f.score = f.score(); // field write, fluent read
f.score(f.score()); // fluent setter write, getter read
b.items[0] = 1; // reading array field, writing element
b.next.count = 2; // reading receiver field, writing count
}
}