Status Update
Comments
ju...@google.com <ju...@google.com>
bl...@google.com <bl...@google.com> #2
Any plans to support this?
js...@google.com <js...@google.com> #3
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha07
androidx.compose.material3:material3-adaptive-navigation-suite-android:1.4.0-alpha07
js...@google.com <js...@google.com> #4
So, the issue is, any Lint detectors that uses Analysis API analyze
trigger loading that token provider, which can be different: artifacts w/ 1.9.20 (in CLI), it's current KtLifetimeTokenProvider
, whereas artifacts w/ 1.9.0 (in IDE/AS), it's old KtDefaultLifetimeTokenProvider
.
a couple release cycles ago, there was a similar class-level name change ...
a simple
typealias
did the trick, so hopefully, this name change can be resolved in a similar way.
No it doesn't. :(
These declarations are marked with @KtAnalysisApiInternals
which are not allowed to be annotated on typealias
.
This time, even reflection is not a solution either. Of course I can register old provider via reflection, but that's just one step forward. After that, due to the changes at
analyze
can't find methods getAnalysisSession
w/ different number of arguments, which are in 1.9.20, but not in 1.9.0.
It's unclear if this can be resolved when reverting
https://github.com/JetBrains/kotlin/commit/4b523825be1a6f67fa6aef601c7d3c72b673e986 https://github.com/JetBrains/intellij-community/commit/d9586fbc687dda2f1337d88d8fc63d3c28655bdc
or more relevant/dependent changes...
If we just let it go, the only downside we'll see is: Lint devs can't use IDE run/debug, which will complain the lack of KtDefaultLifetimeTokenProvider
(while CLI run via bazel works). We often see such inconsistency during version up period, but it's usually the other way around: it's resolved when Lint artifacts for CLI catch up the version used in AS IDE. This time, we're actually introducing inconsistency when matching IJ versions of artifacts, but diverging compiler version...
js...@google.com <js...@google.com> #5
but diverging compiler version...
And hopefully, it'll be resolved when we upgrade KT plugin version from 232-1.9.0 to 232-1.9.20.
js...@google.com <js...@google.com> #6
Related upstream YT:
https://youtrack.jetbrains.com/issue/KTIJ-27188/Bundled-DevKit-plugin-1.9.20-Beta-constantly-throws-exceptions-when-opening-another-plugin-codebase https://youtrack.jetbrains.com/issue/KT-61403/Analysis-API-Stabilize-API-Surface https://youtrack.jetbrains.com/issue/KT-62343/Analysis-API-fix-binary-incopatibility-problems-cause-by-KtAnalysisSessionProvider.analyze-being-inline
js...@google.com <js...@google.com> #7
js...@google.com <js...@google.com> #8
an...@google.com <an...@google.com> #9
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Iguana | 2023.2.1 Canary 9
- Android Gradle Plugin 8.3.0-alpha09
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
ve...@gmail.com <ve...@gmail.com> #10
ja...@abedatasolutions.com.ph <ja...@abedatasolutions.com.ph> #11
Is this warning related to this issue?
WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaDefaultLifetimeTokenProvider$Companion#getService(Lcom/intellij/openapi/project/Project;)Lorg/jetbrains/kotlin/analysis/api/lifetime/KaDefaultLifetimeTokenProvider; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaDefaultLifetimeTokenProvider#getDefaultLifetimeTokenFactory()Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getAnalysisSession(Lorg/jetbrains/kotlin/psi/KtElement;Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory;)Lorg/jetbrains/kotlin/analysis/api/KaSession; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#beforeEnteringAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#beforeEnteringAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#afterLeavingAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#afterLeavingAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#afterLeavingAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#afterLeavingAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#afterLeavingAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#afterLeavingAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaDefaultLifetimeTokenProvider$Companion#getService(Lcom/intellij/openapi/project/Project;)Lorg/jetbrains/kotlin/analysis/api/lifetime/KaDefaultLifetimeTokenProvider; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaDefaultLifetimeTokenProvider#getDefaultLifetimeTokenFactory()Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getAnalysisSession(Lorg/jetbrains/kotlin/psi/KtElement;Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory;)Lorg/jetbrains/kotlin/analysis/api/KaSession; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#beforeEnteringAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#beforeEnteringAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#afterLeavingAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#afterLeavingAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#afterLeavingAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#afterLeavingAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#afterLeavingAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#afterLeavingAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaDefaultLifetimeTokenProvider$Companion#getService(Lcom/intellij/openapi/project/Project;)Lorg/jetbrains/kotlin/analysis/api/lifetime/KaDefaultLifetimeTokenProvider; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaDefaultLifetimeTokenProvider#getDefaultLifetimeTokenFactory()Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getAnalysisSession(Lorg/jetbrains/kotlin/psi/KtElement;Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory;)Lorg/jetbrains/kotlin/analysis/api/KaSession; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#beforeEnteringAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#beforeEnteringAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#afterLeavingAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#afterLeavingAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#afterLeavingAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#afterLeavingAnalysisContext()V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeTokenFactory#afterLeavingAnalysisContext(Lorg/jetbrains/kotlin/analysis/api/lifetime/KaLifetimeToken;)V WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/session/KaSessionProvider#getNoWriteActionInAnalyseCallChecker()Lorg/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker; WARNING: Missing analysis API method org/jetbrains/kotlin/analysis/api/lifetime/impl/NoWriteActionInAnalyseCallChecker#afterLeavingAnalysisContext()V
js...@google.com <js...@google.com> #12
^ No, it's rather
Description
STEPS TO REPRODUCE:
1. Open the project 'kotlin_android' and wait for the import
2. Open app/src/main/kotlin/org/jetbrains/kotlin/qa/acceptanceAndroid/KotlinActivity.kt file
3. We can observe the problem
ATTACH SCREENSHOTS/RECORDINGS OF THE ISSUE
ATTACH LOG FILES (Select Help > Show Log in Files, or Show Log in Finder on a Mac)
------------------
IMPORTANT: Please read
all required information.
------------------
Studio Build: AI-231.9392.1.2311.10749307, AI-232.9559.62
Kotlin IDE plugin: 231-1.9.20-RC-299-AS8109.175, 232-1.9.20-Beta-241-AS9559.62
Version of Gradle Plugin: 8.2.0-beta04
Version of Gradle: 8.2
Version of Java: 17.0.7
OS: Linux, mac