Jelaskan bugnya
Kompiler ErrorProne 2.5.1
mengeluh tentang MissingSummary
ketika @SuperBuilder
digunakan dalam 1.18.18
.
Untuk Mereproduksi
Stacktrace berikut:
> Task :api:cas-server-core-api-authentication:compileJava
/Users/Misagh/Workspace/GitWorkspace/cas-server/api/cas-server-core-api-authentication/src/main/java/org/apereo/cas/authentication/AuthenticationPolicyExecutionResult.java:18: error: An unhandled exception was thrown by the Error Prone static analysis plugin.
<strong i="15">@SuperBuilder</strong>
^
Please report this at https://github.com/google/error-prone/issues/new and include the following:
error-prone version: 2.5.1
BugPattern: MissingSummary
Stack Trace:
java.lang.IllegalArgumentException: Start [-1] should not be less than zero
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:190)
at com.google.errorprone.fixes.IndexedPosition.<init>(IndexedPosition.java:32)
at com.google.errorprone.fixes.SuggestedFix$Builder.replace(SuggestedFix.java:213)
at com.google.errorprone.bugpatterns.javadoc.MissingSummary.generateReturnFix(MissingSummary.java:139)
at com.google.errorprone.bugpatterns.javadoc.MissingSummary.handle(MissingSummary.java:109)
at com.google.errorprone.bugpatterns.javadoc.MissingSummary.matchMethod(MissingSummary.java:80)
at com.google.errorprone.scanner.ErrorProneScanner.processMatchers(ErrorProneScanner.java:450)
at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:740)
at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:151)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:898)
at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
at jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187)
at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:549)
at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:151)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:808)
at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
Perilaku yang diharapkan
Membangun yang lewat.
Info versi (harap lengkapi informasi berikut):
konteks tambahan
MissingSummary
dengan ErrorProne akan mengatasi masalah tersebut.Dapat mengkonfirmasi bahwa ini tidak berhasil.
Ini terjadi karena lombok tidak menambahkan posisi awal dan akhir untuk komentar Javadoc yang dihasilkan, kemungkinan besar disebabkan oleh perubahan #2684.
@mmoayyed Bisakah Anda menguji rilis dan laporan
Ya, rilis tepi tentu saja menghapus pengecualian, tetapi itu tidak memperbaiki masalah. Setelah beralih dan bukannya stacktrace, sekarang saya melihat yang berikut:
warning: [MissingSummary] A summary fragment is required; consider using the value of the <strong i="6">@return</strong> block as a summary fragment instead.
<strong i="7">@SuperBuilder</strong>
^
(see https://google.github.io/styleguide/javaguide.html#s7.2-summary-fragment)
Did you mean 'Returns {<strong i="8">@code</strong> this}.'?
error: warnings found and -Werror specified
Seperti inilah struktur kelasnya:
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)
<strong i="12">@Getter</strong>
<strong i="13">@SuperBuilder</strong>
<strong i="14">@ToString</strong>
public class AuthenticationPolicyExecutionResult implements Serializable {
private final boolean success;
}
Saya menduga javadoc yang dihasilkan untuk metode success()
tidak memiliki ringkasan yang sesuai. Jika saya dapat membantu lebih lanjut, beri tahu saya.
Komentar yang paling membantu
Dapat mengkonfirmasi bahwa ini tidak berhasil.
Ini terjadi karena lombok tidak menambahkan posisi awal dan akhir untuk komentar Javadoc yang dihasilkan, kemungkinan besar disebabkan oleh perubahan #2684.