analysis-api-extend-ka-resolver
Add KaResolver support for a PSI type
This skill adds resolveSymbol() and optionally resolveCall() support for a given Kt* PSI type
by following the established pattern from existing resolver support commits.
The argument is the PSI type name, e.g. KtDestructuringDeclarationEntry.
Phase 1: Gather information
-
Find the PSI type source file. Search
compiler/psi/for<KtPsiType>.javaor<KtPsiType>.kt. Read the file to understand the class hierarchy and whether it already implementsKtResolvableorKtResolvableCall. -
Check KaResolver for existing support. Read
analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/components/KaResolver.ktand search for the PSI type. If it already hasresolveSymbol()/resolveCall()methods, inform the user and stop. -
Check for existing test data. Search
analysis/analysis-api/testData/components/resolver/for test files mentioning the PSI type or related scenarios.