Lombok: [BUG] Kompilator ErrorProne melaporkan "MissingSummary" di @SuperBuilder w/ 1.18.18

Dibuat pada 29 Jan 2021  ·  3Komentar  ·  Sumber: projectlombok/lombok

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):

  • Lombok 1.18.18
  • JDK 11.0.10
  • Tingkat 6.8.1
  • Rawan Kesalahan 2.5.1

konteks tambahan

  • Menonaktifkan MissingSummary dengan ErrorProne akan mengatasi masalah tersebut.
  • Bekerja dengan baik dengan Lombok 1.18.16

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.

Semua 3 komentar

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Bryksin picture Bryksin  ·  3Komentar

x9nico picture x9nico  ·  3Komentar

YinAqu picture YinAqu  ·  3Komentar

michaelkuechler picture michaelkuechler  ·  3Komentar

delverdev picture delverdev  ·  3Komentar