Anna Kozlova
07525fef51
[AA] extract source psi from delegated wrapper when exists
2023-01-19 11:38:32 +00:00
Dmitrii Gridin
7f24a38997
[FIR] FirTypeResolveTransformer: support lazy type annotations for all declarations
...
^KTIJ-23547
^KTIJ-24141
2023-01-19 10:53:04 +00:00
Dmitrii Gridin
73cdaf5c3c
[FIR] CustomAnnotationTypeAttribute: support type aliases
...
^KTIJ-23547
^KTIJ-24141
2023-01-19 10:53:03 +00:00
Dmitrii Gridin
09a77d261d
[AA] KtTypeInfoProvider: introduce fullyExpandedType extension
...
^KTIJ-23547
^KTIJ-24141
2023-01-19 10:53:03 +00:00
Dmitrii Gridin
8ce4c4eba9
[FIR] CustomAnnotationTypeAttribute: store fir symbol instead of declaration
...
^KTIJ-23547
^KTIJ-24141
2023-01-19 10:53:02 +00:00
Dmitrii Gridin
9d42a5cb01
[FIR] provide containerDeclaration to CustomAnnotationTypeAttribute for lazy resolve
...
tested by FirIdeNormalAnalysisSourceModuleSymbolByPsiTestGenerated.testTypeAnnotations
^KTIJ-23547 Fixed
^KTIJ-24141 Fixed
2023-01-19 10:53:02 +00:00
Dmitrii Gridin
f32483000a
[AA FIR] KtFirAnnotationListForDeclaration: avoid resolve on creation
2023-01-19 10:53:02 +00:00
Vladimir Sukharev
e4d209cbde
[K2] [KN-55977] Fix suspend type serialization
...
Merge-request: KT-MR-8328
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-17 13:07:21 +00:00
Anna Kozlova
6f9cfe1943
[AA] don't treat broken code as function type parameter
...
inspired by KTIJ-23940
2023-01-17 11:50:20 +00:00
Nikolay Lunyak
4cddbb5fc0
[FIR] Get rid of FirAnnotation.fullyExpandedClassId
...
It's duplicated by `toAnnotationClassId`.
2023-01-17 06:26:39 +00:00
Anna Kozlova
06074e5e2d
fix compilation after merge
2023-01-13 23:35:07 +01:00
Vladimir Dolzhenko
ca31307941
[AA] Add expectForActual
...
#KT-54864
Merge-request: KT-MR-8222
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com >
2023-01-13 21:36:04 +00:00
Ilya Kirillov
3afb93ca31
[FIR] fix resolve contract violation from ConeTypeContext.getValueClassProperties
...
^KT-54890
2023-01-13 21:32:52 +00:00
Ilya Kirillov
1bbcae5ed2
[FIR] fix resolve contract violation from scopes
...
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier
^KT-54890
^KTIJ-23587 fixed
2023-01-13 21:32:51 +00:00
Anna Kozlova
86cc57ac39
[AA] allow navigation from '==' to the equals method of lhs
2023-01-13 20:14:30 +00:00
Dmitriy Novozhilov
faa96ec7c0
[AA LC] Don't create light methods if value class is present in signature
...
^KT-55788
Test `parameter_jvmInline.kt` is removed because now members with value
classes are not included in light classes and don't have PSI representation
2023-01-12 17:45:10 +00:00
Dmitriy Novozhilov
16b72d3e54
[AA] Unwrap type aliases in annotation arguments
...
^KT-55782 Fixed
2023-01-12 17:45:10 +00:00
Dmitriy Novozhilov
95f5848e6c
[AA LC] Save unresolved qualifier name in arguments of annotations
2023-01-12 17:45:09 +00:00
Dmitriy Novozhilov
ed867af01d
[AA LC] Expand aliases of type arguments during conversion to KtType
...
^KT-55781
2023-01-12 17:45:09 +00:00
Dmitriy Novozhilov
36ae901b19
[AA LC] Map unresolved types according to aliased imports
2023-01-12 17:45:08 +00:00
Dmitriy Novozhilov
a3b9f15ecc
[AA LC] Create proper Psi types for types with errors inside
2023-01-12 17:45:08 +00:00
Dmitriy Novozhilov
3a536bb32f
[AA LC] Approximate anonymous type to single supertype if possible
...
^KT-55780 Fixed
^KT-55778 Fixed
2023-01-12 17:45:07 +00:00
Dmitriy Novozhilov
935b4f2feb
[AA LC] Add workaround for jvmDefaults compatibility
2023-01-12 17:45:07 +00:00
Jinseong Jeon
2dca2b4827
AA FE1.0: Fix StackOverflowError during resolution to a function w/ recursive type parameter
...
^KT-55825 Fixed
2023-01-12 19:48:21 +09:00
Justin Paupore
212baf580c
[AA-FIR] Fix handling of Java annotation parameters.
...
This changes FirAnnotationValueConverter to no longer rely on PSI
information when projecting annotation parameter information to AA.
For annotations defined in Java, including many meta-annotations, PSI
information is not available for the annotation. This caused those
annotation values to be projected as KtUnsupportedAnnotationValue.
Instead of using PSI information, this changes
FirAnnotationValueConverter to use the tree structure instead. Spread
and named parameter arguments are spliced into the parameter list of
their surrounding vararg calls, meaning that callers see the expected
structure. (See the varargSpreadParameter.kt test file for an example.)
2023-01-12 19:48:21 +09:00
Justin Paupore
fbcde11b04
[AA] Add meta-annotation test for analysis API.
...
This test ensures that annotations on other annotations are properly
handled, even if those annotations are defined in Java rather than in
Kotlin.
Note that this functionality only works on FIR, and currently has bugs
that mean the result is an error type. Follow-on changes will fix the
error-type bug, and restore proper functionality for FIR.
2023-01-12 19:48:21 +09:00
aleksandrina-streltsova
3a6e3290aa
[FIR] KTIJ-24156: Add test data
2023-01-10 20:15:28 +00:00
aleksandrina-streltsova
af414cfb5e
[Analysis API] Provide API for getting KtTypeAliasSymbol by ClassId
2023-01-10 20:15:27 +00:00
Ilya Kirillov
20b81464be
[Analysis API] fix IndexOutOfRangeException
...
Previously, the `KtFirUsualClassType.qualifiers` was empty for the local classes
The reason was a RawFirBuilder setting up a containingClassForLocalAttr
to the outer non-local class for the local class. It should be a null instead,
see the localClassType.kt as an example
^KT-55510 fixed
2023-01-10 12:54:18 +00:00
Mikhail Glukhikh
949a39b80f
K2: add checker detecting protected Java field shadowed by a property
2023-01-09 21:37:22 +00:00
Nikolay Lunyak
5817155616
[FIR JS] Implement FirJsNameChecker
2023-01-09 08:57:12 +00:00
Nikolay Lunyak
85bcef537c
[FIR JS] Support NON_EXTERNAL_DECLARATION_IN_INAPPROPRIATE_FILE
2023-01-09 08:57:12 +00:00
Nikolay Lunyak
5b3a73f7cd
[FIR JS] Implement FirJsNativeAnnotationChecker
2023-01-09 08:57:12 +00:00
Nikolay Lunyak
a20e29e8b7
[FIR JS] Implement FirJsExternalChecker
...
The JsAllowValueClassesInExternals feature is enabled explicitly,
because otherwise it's enabled
implicitly depending on the backend. See:
org/jetbrains/kotlin/test/builders/LanguageVersionSettingsBuilder.kt:90
A property may have a fake source return kind, while its accessor
has a real source kind. In this case we can't "just copy"
the property return type down to the accessor.
2023-01-09 08:57:11 +00:00
Nikolay Lunyak
7b8f5f9980
[FIR JS] Implement FirJsRuntimeAnnotationChecker
2023-01-09 08:57:11 +00:00
Nikolay Lunyak
56285bb2d6
[FIR JS] Report CALL_TO_DEFINED_EXTERNALLY_FROM_NON_EXTERNAL_DECLARATION
2023-01-09 08:57:11 +00:00
Nikolay Lunyak
4cf8d9ffb9
[FIR JS] Implement FirJsInheritanceChecker
2023-01-09 08:57:10 +00:00
Nikolay Lunyak
9e1c6f2f61
[FIR JS] Support DYNAMIC_SUPERTYPE
2023-01-09 08:57:10 +00:00
Nikolay Lunyak
227969d787
[FIR JS] Support DYNAMIC_RECEIVER_NOT_ALLOWED
2023-01-09 08:57:10 +00:00
Nikolay Lunyak
0f876f665a
[FIR JS] Support DELEGATION_BY_DYNAMIC
2023-01-09 08:57:09 +00:00
Nikolay Lunyak
eed2fada1f
[FIR JS] Support WRONG_MULTIPLE_INHERITANCE
2023-01-09 08:57:09 +00:00
Nikolay Lunyak
0426f35684
[FIR JS] Report JS_MODULE-related diagnostics
2023-01-09 08:57:08 +00:00
Nikolay Lunyak
f422a3a4e8
[FIR JS] Report WRONG_JS_QUALIFIER for the argument of JsQualifier
2023-01-09 08:57:08 +00:00
Nikolay Lunyak
0e38d0ebd2
[FIR JS] Ensure JS-specific diagnostics are generated properly
2023-01-09 08:57:07 +00:00
Dmitrii Gridin
5a74fec3ac
[AA] KtAnnotated: split hasAnnotation to two extensions
2023-01-06 21:09:43 +00:00
Dmitrii Gridin
4626b19fce
[AA] KtAnnotated: introduce more flexible search API
2023-01-06 21:09:40 +00:00
Dmitrii Gridin
5950820787
[AA FIR] KtFirScopeProvider: avoid redundant resolve
2023-01-06 21:09:40 +00:00
Dmitrii Gridin
7982d33677
[AA FIR] mapAnnotationParameters: improve logging
2023-01-06 21:09:39 +00:00
Kirill Rakhman
721a37f7e7
K2: implement FirLateinitIntrinsicApplicabilityChecker ^KT-55495 Fixed
2023-01-04 14:42:43 +00:00
Ilya Kirillov
256396235b
[LL FIR] rework lazy resolve, so it never resolves local declaration
...
No local declaration should be available until it's fully resolved
2023-01-04 12:50:56 +00:00