Commit Graph

87025 Commits

Author SHA1 Message Date
Roman Artemev d809e260cb [KLIB] Support DefinitelyNotNull type in KLIB
- add proto message
 - serialize/deserialize
2021-10-28 18:03:11 +03:00
Roman Artemev 29728efbf7 [PSI2IR] Support DefinitelyNotNull type translation in Psi2Ir 2021-10-28 18:03:11 +03:00
Roman Artemev 101afded69 [IR] Introduce IrDefinitelyNotNullType in IR
- support it in render
 - support in IR copy
 - KEEP-268
2021-10-28 18:03:09 +03:00
Tianyu Geng b48870c11f FIR checker: pass expected array type in ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION
This is needed by the IDE quickfix to generate the correct `arrayOf` (or
`intArrayOf`, etc`) wrapper call.
2021-10-28 16:36:02 +03:00
Mikhail Glukhikh 9f062df258 FE: fix factory and message for EXPOSED_FROM_PRIVATE_IN_FILE
#KT-49442 Fixed
2021-10-28 16:24:43 +03:00
Ivan Kylchik 1a52512578 [JS TESTS] Restore AbstractIrCodegenWasmJsInteropJsTest in generator 2021-10-28 15:18:30 +03:00
Dmitriy Novozhilov 0cce0fbbfb [FIR] Remove unused methods from FirProvider
Those methods were created for first prototype of FIR plugin API, and
  now they are completely redundant
2021-10-28 15:01:22 +03:00
Dmitriy Novozhilov acab58a314 [FIR] Cleanup builder inference utility 2021-10-28 15:01:20 +03:00
Dmitriy Novozhilov 4490f64666 [FIR] Get rid of FirAnnotatedDeclaration
Now all fir declarations have annotations

^KT-49260 Fixed
2021-10-28 15:01:18 +03:00
Nikolay Lunyak 0eb2d117ef [FIR] KT-45972, KT-49072: Add visibility checks to the type resolution 2021-10-28 14:31:27 +03:00
Jinseong Jeon 2dc2a90755 Introduce an API to convert TypeConstructorMarker to TypeParameterMarker 2021-10-28 12:54:45 +03:00
Sergej Jaskiewicz a367b91aa1 [IR] [Refactoring] Add toString and String::plus to IrBuiltins
Also use `OperatorNameConventions` constants instead of magic strings
2021-10-28 08:35:11 +00:00
Alexander Dudinsky f8dd1b3512 Fix Gradle Integration Tests MPP and Android on MacOS 2021-10-28 11:34:06 +03:00
Ilya Chernikov 600529fe21 temp: fix testdata until diagnostic reporting is fixed properly
currently some old backend reporting schemes are used in IR backend that
rely on the PSI alement passing. This conflicts with updated generic
diagnostic infrastructure that is shared between FIR and IR backends.
As soon as such places will be abstracted out and the IR will be
completely switched to the new diagnostic infrastructure, this and
similar changes could be reverted.
2021-10-27 22:17:42 +02:00
Ilya Chernikov cb513ee333 IR: fix ACCIDENTAL_OVERRIDE reporting on annotation implementations 2021-10-27 22:17:42 +02:00
Ilya Chernikov 81e4f3091a [minor] unmute suppress test on FIR - suppression works properly now 2021-10-27 22:17:42 +02:00
Ilya Chernikov 5bdda9c7f8 Implement suppression cache based on IR tree, use it in reporter 2021-10-27 22:17:42 +02:00
Ilya Chernikov 932eab8dfc Implement semi-lazy PSI-based suppress cache for IR
calculates suppressions per root (KtFile) basis on demand.
2021-10-27 22:17:42 +02:00
Ilya Chernikov bfe31c97ac Add support for ASTs without parents to suppress cache 2021-10-27 22:17:42 +02:00
Ilya Chernikov 7ef806b2ed Extract AbstractKotlinSuppressCache to frontend.common 2021-10-27 22:17:42 +02:00
Ilya Chernikov 70259cc228 Extract psi- and descriptior-independent suppress cache logic 2021-10-27 22:17:41 +02:00
Ilya Chernikov 70366dc7a6 Refactor diagnostic & result reporters...
to better reflect actual roles
2021-10-27 22:17:41 +02:00
Ilya Chernikov ea1edc2bd9 Add equality to diagnostic context, simplifying deduplication 2021-10-27 22:17:41 +02:00
Ilya Chernikov 34cbb3d356 Add support for new backend diagnostic to test infrastructure 2021-10-27 22:17:41 +02:00
Ilya Chernikov fc176e9845 Refactor IR reporting and infrastructure 2021-10-27 22:17:41 +02:00
Ilya Chernikov da2d3f29da Add multiple renderer sources support to new diagnostics infrastructure 2021-10-27 22:17:41 +02:00
Ilya Chernikov 0de6f8b915 Add multiple renderer sources supprt to new diagnostics infrastructure (move only to save history) 2021-10-27 22:17:41 +02:00
Ilya Chernikov 1ce4075112 Prepare CLI reporting infrastructure for non-PSI diagnostics 2021-10-27 22:17:40 +02:00
Ilya Chernikov 5446168770 Add path to FirFile to pass it to the DiagnosticContext 2021-10-27 22:17:40 +02:00
Ilya Chernikov 1e056a7aa8 Report IR errors via new diagnostic infrastructure 2021-10-27 22:17:40 +02:00
Ilya Chernikov 21ea92cd4a Extract mutable diagnostic context to separate interface 2021-10-27 22:17:40 +02:00
Ilya Chernikov 9e60c70db7 Add abstract source element and switch diagnostics to it 2021-10-27 22:17:40 +02:00
Ilya Chernikov 524e40708d Move report helpers to frontend.common 2021-10-27 22:17:40 +02:00
Ilya Chernikov d3f3aa4b29 Move specific diagnostics infrastructure to frontend.common-psi 2021-10-27 22:17:40 +02:00
Ilya Chernikov e9f59e8d1d Move common diagnostics infrastructure to frontend.common 2021-10-27 22:17:39 +02:00
Ilya Chernikov f1d0ead652 Fix fir analysis api after refactorings 2021-10-27 22:17:39 +02:00
Ilya Chernikov 31c58767cf Rearrange fir diagnostic for further reuse 2021-10-27 22:17:39 +02:00
Ilya Chernikov a5bf8f5f91 Rearrange fir diagnostic for further reuse (rename to save history) 2021-10-27 21:44:19 +02:00
Ilya Chernikov a65beb2dc5 Move Fir*SourceElement to frontend.common, rename to Kt* (complete) 2021-10-27 21:44:11 +02:00
Ilya Chernikov c50c8ad270 Move FirSourceElement to frontend.common (only move to save history) 2021-10-27 21:43:15 +02:00
Mikhail Glukhikh 8bd0b237b7 Convert EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR into deprecation error
#KT-28078 Fixed
2021-10-27 19:43:01 +03:00
Tianyu Geng a969e5af50 FIR: fix API mode checker for local functions 2021-10-27 19:42:52 +03:00
Tianyu Geng 31b7248769 FIR: suppress excessive warning on java Class
The root cause is https://youtrack.jetbrains.com/issue/KT-49358 though.
We should undo this change after that issue is fixed.
2021-10-27 19:42:45 +03:00
Jinseong Jeon 3f2c86afb8 FIR IDE/LC: introduce/use delegated member scope 2021-10-27 17:06:32 +02:00
Jinseong Jeon 700f8ac287 FIR IDE: relocate scope-related test data 2021-10-27 17:06:32 +02:00
Jinseong Jeon 4266ffa274 FIR IDE: fix typo in test directory (overridden) 2021-10-27 17:06:32 +02:00
Jinseong Jeon 907d2e9ed4 FIR LC: populate delegates to interface methods 2021-10-27 17:06:31 +02:00
Jinseong Jeon 693564084a FIR LC: populate delegate fields 2021-10-27 17:06:31 +02:00
Jinseong Jeon 71e7cfb036 LC: use JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX 2021-10-27 17:06:31 +02:00
Jinseong Jeon b52912162f FIR IDE: API to indicate delegated property 2021-10-27 17:06:30 +02:00