[LL] Implement a common LLSealedInheritorsProvider
- The new `LLSealedInheritorsProvider` is based on the previous sealed inheritors provider implementation in the IDE. It uses the new direct inheritors provider and the module dependents provider to implement the same functionality that was previously confined to the IDE. With this design we avoid duplication of complex logic such as the KMP handling in `searchInheritors`. - The implementation is designed to work in the production Standalone mode and the aforementioned services have already been implemented for Standalone in prior commits. Now we can get rid of the problematic `SealedClassInheritorsProviderForTests` and tests should more closely match production behavior. - In IDE mode tests, `LLSealedInheritorsProvider` is used with Standalone Analysis API provider implementations. This is in line with the rest of the test infrastructure, where Standalone AA providers are generally used, as IDE providers aren't available. - `KotlinSealedInheritorsProvider` is made obsolete by the common sealed inheritors provider. ^KT-66013 fixed ^KT-64505 fixed
This commit is contained in:
committed by
Space Team
parent
48229f7faa
commit
1374bc8e2d
+1
-1
@@ -52,8 +52,8 @@ MODULE_FRAGMENT
|
||||
CLASS CLASS name:Operation modality:SEALED visibility:public superTypes:[kotlin.Any]
|
||||
sealedSubclasses:
|
||||
CLASS CLASS name:Add modality:FINAL visibility:public superTypes:[<root>.Operation]
|
||||
CLASS CLASS name:Subtract modality:FINAL visibility:public superTypes:[<root>.Operation]
|
||||
CLASS CLASS name:Negate modality:FINAL visibility:public superTypes:[<root>.Operation]
|
||||
CLASS CLASS name:Subtract modality:FINAL visibility:public superTypes:[<root>.Operation]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Operation
|
||||
CLASS CLASS name:Add modality:FINAL visibility:public superTypes:[<root>.Operation]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Operation.Add
|
||||
|
||||
Reference in New Issue
Block a user