Files
openide/java/java-tests/testData/inspection/recordCanBeClass/afterAnnotations.java
Louis Vignier 65b7f80ce4 [java] Fix quotes in inspection descriptions
GitOrigin-RevId: e227c0708730b61eae81871bb9b1013853d8b4b2
2021-03-19 12:07:46 +00:00

95 lines
1.9 KiB
Java

// "Convert record to class" "true"
import java.lang.annotation.*;
import java.util.Objects;
@Target(ElementType.FIELD)
@interface FieldAnno {int value();}
@Target(ElementType.FIELD)
@interface FieldAnno2 {int value();}
@Target(ElementType.METHOD)
@interface MethodAnno {int value();}
@Target(ElementType.PARAMETER)
@interface ParameterAnno {int value();}
@Target(ElementType.TYPE_USE)
@interface TypeUse {int value();}
@Target(ElementType.TYPE_USE)
@interface TypeUse2 {int value();}
@Target(ElementType.TYPE)
@interface TypeAnno {}
@TypeAnno
final class R implements F3 {
@FieldAnno(/*1*/1)
@FieldAnno2(1)
private final @TypeUse(1) int f1;
@FieldAnno(2)
private final @TypeUse(2) @TypeUse2(2) int f2;
private final int f3;
private final int f4;
R(@TypeUse(1) @ParameterAnno(1) int f1,
@TypeUse(2) @TypeUse2(2) int f2,
int f3,
int f4) {
this.f1 = f1;
this.f2 = f2;
this.f3 = f3;
this.f4 = f4;
}
@MethodAnno(4)
public int f4() {
return f4;
}
@MethodAnno(1)
public @TypeUse(1) int f1() {
return f1;
}
public @TypeUse(2) @TypeUse2(2) int f2() {
return f2;
}
@Override
@MethodAnno(3)
public int f3() {
return f3;
}
@Override
public boolean equals(Object obj) {
if (obj == this) return true;
if (obj == null || obj.getClass() != this.getClass()) return false;
var that = (R) obj;
return this.f1 == that.f1 &&
this.f2 == that.f2 &&
this.f3 == that.f3 &&
this.f4 == that.f4;
}
@Override
public int hashCode() {
return Objects.hash(f1, f2, f3, f4);
}
@Override
public String toString() {
return "R[" +
"f1=" + f1 + ", " +
"f2=" + f2 + ", " +
"f3=" + f3 + ", " +
"f4=" + f4 + ']';
}
}
interface F3 {
int f3();
}