facebook / ktfmt

A program that reformats Kotlin source code to comply with the common community standard for Kotlin code conventions.
https://facebook.github.io/ktfmt/
Apache License 2.0
857 stars 66 forks source link

error: did not generate token "context" #471

Closed laurentthiebaudezm closed 3 weeks ago

laurentthiebaudezm commented 1 month ago

Hi,

I have the following test method, that verifies if a given method - which required a context MyContext - has been called.

fun <T, R> verifyInAnyTransactionContext(
    mock: T,
    nTime: Int = 1,
    f: suspend context(MyContext) T.() -> R
): R = verify(mock, times(nTime)) {
    with(any<TransactionContext>()) { f(mock)}
}

Since I upgraded to kotlin 2.0, ktfmt fails on this method:

error: did not generate token "context"

[2024-05-27T10:04:19.415Z] com.google.googlejavaformat.FormattingError: 59:44: error: did not generate token "context"

[2024-05-27T10:04:19.415Z] 

[2024-05-27T10:04:19.415Z]  at com.google.googlejavaformat.OpsBuilder.sync(OpsBuilder.java:233)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.sync(KotlinInputAstVisitor.kt:2573)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitTypeReference(KotlinInputAstVisitor.kt:186)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitTypeReference(KtVisitorVoid.java:649)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitTypeReference(KtVisitorVoid.java:21)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtTypeReference.accept(KtTypeReference.kt:38)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtTreeVisitorVoid.visitElement(KtTreeVisitorVoid.java:25)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitElement(KotlinInputAstVisitor.kt:2460)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitor.visitKtElement(KtVisitor.java:24)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:25)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:455)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:21)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:94)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitFunctionType(KotlinInputAstVisitor.kt:2295)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitFunctionType(KtVisitorVoid.java:949)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitFunctionType(KtVisitorVoid.java:21)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtFunctionType.accept(KtFunctionType.java:68)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitTypeReference(KotlinInputAstVisitor.kt:198)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitTypeReference(KtVisitorVoid.java:649)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitTypeReference(KtVisitorVoid.java:21)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtTypeReference.accept(KtTypeReference.kt:38)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.access$visit(KotlinInputAstVisitor.kt:133)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$declareOne$1$2.invoke(KotlinInputAstVisitor.kt:1346)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$declareOne$1$2.invoke(KotlinInputAstVisitor.kt:1339)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.access$block(KotlinInputAstVisitor.kt:133)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$declareOne$1.invoke(KotlinInputAstVisitor.kt:1339)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$declareOne$1.invoke(KotlinInputAstVisitor.kt:1316)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block$default(KotlinInputAstVisitor.kt:2561)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.declareOne(KotlinInputAstVisitor.kt:1316)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.declareOne$default(KotlinInputAstVisitor.kt:1294)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitParameter$1.invoke(KotlinInputAstVisitor.kt:2244)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitParameter$1.invoke(KotlinInputAstVisitor.kt:2231)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block$default(KotlinInputAstVisitor.kt:2561)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitParameter(KotlinInputAstVisitor.kt:2231)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitParameter(KtVisitorVoid.java:599)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitParameter(KtVisitorVoid.java:21)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtParameter.accept(KtParameter.java:51)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.access$visit(KotlinInputAstVisitor.kt:133)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitEachCommaSeparated$1.invoke(KotlinInputAstVisitor.kt:1084)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitEachCommaSeparated$1.invoke(KotlinInputAstVisitor.kt:1075)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitEachCommaSeparated(KotlinInputAstVisitor.kt:1075)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitEachCommaSeparated$default(KotlinInputAstVisitor.kt:1048)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitFunctionLikeExpression$1$4.invoke(KotlinInputAstVisitor.kt:356)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitFunctionLikeExpression$1$4.invoke(KotlinInputAstVisitor.kt:354)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block$default(KotlinInputAstVisitor.kt:2561)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitFunctionLikeExpression$1.invoke(KotlinInputAstVisitor.kt:354)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitFunctionLikeExpression$1.invoke(KotlinInputAstVisitor.kt:315)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitFunctionLikeExpression(KotlinInputAstVisitor.kt:315)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.access$visitFunctionLikeExpression(KotlinInputAstVisitor.kt:133)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitNamedFunction$1.invoke(KotlinInputAstVisitor.kt:168)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitNamedFunction$1.invoke(KotlinInputAstVisitor.kt:167)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block$default(KotlinInputAstVisitor.kt:2561)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitNamedFunction(KotlinInputAstVisitor.kt:167)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedFunction(KtVisitorVoid.java:491)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedFunction(KtVisitorVoid.java:21)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtNamedFunction.accept(KtNamedFunction.java:51)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitScript(KotlinInputAstVisitor.kt:2514)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitScript(KtVisitorVoid.java:527)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitScript(KtVisitorVoid.java:21)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtScript.accept(KtScript.java:69)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitKtFile(KotlinInputAstVisitor.kt:2489)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:521)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:21)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtFile.accept(KtFile.kt:250)

[2024-05-27T10:04:19.415Z]  at org.jetbrains.kotlin.psi.KtFile.accept(KtFile.kt:237)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.Formatter.prettyPrint(Formatter.kt:109)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.format.Formatter.format(Formatter.kt:96)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.cli.Main.format(Main.kt:134)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.cli.Main.access$format(Main.kt:35)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.cli.Main$run$1.invoke(Main.kt:110)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.cli.Main$run$1.invoke(Main.kt:108)

[2024-05-27T10:04:19.415Z]  at com.facebook.ktfmt.cli.Main.run$lambda$0(Main.kt:108)

[2024-05-27T10:04:19.415Z]  at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)

[2024-05-27T10:04:19.415Z]  at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)

[2024-05-27T10:04:19.415Z]  at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)

[2024-05-27T10:04:19.415Z]  at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)

[2024-05-27T10:04:19.415Z]  at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)

[2024-05-27T10:04:19.415Z]  at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)

[2024-05-27T10:04:19.415Z]  at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)

[2024-05-27T10:04:19.415Z]  at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)

[2024-05-27T10:04:19.415Z]  at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)

[2024-05-27T10:04:19.416Z]  at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

[2024-05-27T10:04:20.164Z] Exception in thread "main" com.google.googlejavaformat.FormattingError: 59:44: error: did not generate token "context"

[2024-05-27T10:04:20.164Z] 

[2024-05-27T10:04:20.164Z]  at com.google.googlejavaformat.OpsBuilder.sync(OpsBuilder.java:233)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.sync(KotlinInputAstVisitor.kt:2573)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitTypeReference(KotlinInputAstVisitor.kt:186)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitTypeReference(KtVisitorVoid.java:649)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitTypeReference(KtVisitorVoid.java:21)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtTypeReference.accept(KtTypeReference.kt:38)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtTreeVisitorVoid.visitElement(KtTreeVisitorVoid.java:25)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitElement(KotlinInputAstVisitor.kt:2460)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitor.visitKtElement(KtVisitor.java:24)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:25)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:455)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:21)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:94)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitFunctionType(KotlinInputAstVisitor.kt:2295)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitFunctionType(KtVisitorVoid.java:949)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitFunctionType(KtVisitorVoid.java:21)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtFunctionType.accept(KtFunctionType.java:68)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitTypeReference(KotlinInputAstVisitor.kt:198)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitTypeReference(KtVisitorVoid.java:649)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitTypeReference(KtVisitorVoid.java:21)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtTypeReference.accept(KtTypeReference.kt:38)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.access$visit(KotlinInputAstVisitor.kt:133)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$declareOne$1$2.invoke(KotlinInputAstVisitor.kt:1346)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$declareOne$1$2.invoke(KotlinInputAstVisitor.kt:1339)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.access$block(KotlinInputAstVisitor.kt:133)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$declareOne$1.invoke(KotlinInputAstVisitor.kt:1339)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$declareOne$1.invoke(KotlinInputAstVisitor.kt:1316)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block$default(KotlinInputAstVisitor.kt:2561)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.declareOne(KotlinInputAstVisitor.kt:1316)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.declareOne$default(KotlinInputAstVisitor.kt:1294)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitParameter$1.invoke(KotlinInputAstVisitor.kt:2244)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitParameter$1.invoke(KotlinInputAstVisitor.kt:2231)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block$default(KotlinInputAstVisitor.kt:2561)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitParameter(KotlinInputAstVisitor.kt:2231)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitParameter(KtVisitorVoid.java:599)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitParameter(KtVisitorVoid.java:21)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtParameter.accept(KtParameter.java:51)

[2024-05-27T10:04:20.164Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.access$visit(KotlinInputAstVisitor.kt:133)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitEachCommaSeparated$1.invoke(KotlinInputAstVisitor.kt:1084)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitEachCommaSeparated$1.invoke(KotlinInputAstVisitor.kt:1075)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitEachCommaSeparated(KotlinInputAstVisitor.kt:1075)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitEachCommaSeparated$default(KotlinInputAstVisitor.kt:1048)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitFunctionLikeExpression$1$4.invoke(KotlinInputAstVisitor.kt:356)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitFunctionLikeExpression$1$4.invoke(KotlinInputAstVisitor.kt:354)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block$default(KotlinInputAstVisitor.kt:2561)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitFunctionLikeExpression$1.invoke(KotlinInputAstVisitor.kt:354)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitFunctionLikeExpression$1.invoke(KotlinInputAstVisitor.kt:315)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitFunctionLikeExpression(KotlinInputAstVisitor.kt:315)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.access$visitFunctionLikeExpression(KotlinInputAstVisitor.kt:133)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitNamedFunction$1.invoke(KotlinInputAstVisitor.kt:168)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor$visitNamedFunction$1.invoke(KotlinInputAstVisitor.kt:167)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block(KotlinInputAstVisitor.kt:2565)

[2024-05-27T10:04:20.164Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.block$default(KotlinInputAstVisitor.kt:2561)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitNamedFunction(KotlinInputAstVisitor.kt:167)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedFunction(KtVisitorVoid.java:491)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedFunction(KtVisitorVoid.java:21)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtNamedFunction.accept(KtNamedFunction.java:51)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitScript(KotlinInputAstVisitor.kt:2514)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitScript(KtVisitorVoid.java:527)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitScript(KtVisitorVoid.java:21)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtScript.accept(KtScript.java:69)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visit(KotlinInputAstVisitor.kt:2593)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.format.KotlinInputAstVisitor.visitKtFile(KotlinInputAstVisitor.kt:2489)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:521)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:21)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtFile.accept(KtFile.kt:250)

[2024-05-27T10:04:20.165Z]  at org.jetbrains.kotlin.psi.KtFile.accept(KtFile.kt:237)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.format.Formatter.prettyPrint(Formatter.kt:109)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.format.Formatter.format(Formatter.kt:96)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.cli.Main.format(Main.kt:134)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.cli.Main.access$format(Main.kt:35)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.cli.Main$run$1.invoke(Main.kt:110)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.cli.Main$run$1.invoke(Main.kt:108)

[2024-05-27T10:04:20.165Z]  at com.facebook.ktfmt.cli.Main.run$lambda$0(Main.kt:108)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)

[2024-05-27T10:04:20.165Z]  at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

script returned exit code 1

This is because in my lambda definition I have a context:

f: suspend context(MyContext) T.() -> R

if I remove the context in there, there is no more issue.

f: suspend T.() -> R

(but this is not what I want, I need a context in my lambda).

Is there a bug? Any workaround? Thx.

hick209 commented 1 month ago

This is indeed a bug. Thanks for reporting it

No workarounds available AFAIK.

hick209 commented 3 weeks ago

@laurentthiebaudezm we'd certainly welcome a PR as we might not get to this issue in a while

hick209 commented 3 weeks ago

This was actually simple and I fixed it with this here https://github.com/facebook/ktfmt/commit/dafd1cbb34a049fd8606213f16ea63569f8e3d05