Kirill Rakhman
c30ce4aabe
[FIR] Print operator keyword and token to unresolved diagnostic message
...
#KT-55672 Fixed
2023-08-28 08:12:25 +00:00
Kirill Rakhman
7fde5af7f8
[FIR] Rename FirExpression.coneType to resolvedType
2023-08-24 07:54:57 +00:00
Kirill Rakhman
8d7c5b375e
[FIR] Replace usages of FirExpression.typeRef with coneTypeOrNull
...
#KT-59855 Fixed
2023-08-24 07:54:57 +00:00
Kirill Rakhman
9ec814b7ad
[FIR] Replace FirExpression.typeRef.coneType (and variants) with FirExpression.coneType
...
#KT-59855
2023-08-24 07:54:56 +00:00
Nikolay Lunyak
f9c6af4d2a
[FIR] Properly assign <local> packages to symbols
...
This prevents `FirConflictsExpressionChecker.kt`
from missing conflicting local functions. It used
to due to inconsistencies in assigning `<local>`,
and this commit makes it a bit more
straightforward.
The change in KtClassTypeQualifierRenderer
prevents `FirOverrideImplementTest.testLocalClass`
from failing in `intellij`. It didn't fail for
callables, because `KtCallableSignatureRenderer`
doesn't try to render packages.
^KT-59186 Fixed
2023-08-18 13:31:04 +00:00
Ilya Kirillov
bdfc68468f
[FIR] optimize direct allocation of empty ConeTypeProjection arrays
...
On the snapshot from KTIJ-26260 empty ConeTypeProjection arrays take about 10mb
2023-08-18 11:36:42 +00:00
Nikolay Lunyak
4958196c51
[FIR] Forbid mixing supertypes with different functional kinds
...
^KT-61277 Fixed
2023-08-17 21:45:42 +00:00
Dmitriy Novozhilov
697d0d5638
[IR] Mark IrSymbol.owner with OptIn annotation
...
^KT-60923 Fixed
2023-08-16 17:47:29 +00:00
Mikhail Glukhikh
66bbb9582c
K1/K2: split incremental compilation tests properly (relates to KT-59171)
2023-07-19 09:34:58 +00:00
Dmitrii Gridin
7620289f6f
[FIR] fix contract violation from meta annotations
...
^KT-60448 Fixed
2023-07-18 16:50:25 +00:00
Dmitriy Novozhilov
8e73d5a54a
[FIR] Run irGenerationExtensions after IR actualization
...
^KT-56173 Fixed
2023-07-07 11:26:15 +00:00
Dmitriy Novozhilov
81da96fed3
[FIR Plugin] Reproduce KT-56173
2023-07-07 11:26:15 +00:00
Dmitriy Novozhilov
037572ee9f
[FIR] Create FirExtensionSyntheticFunctionInterfaceProvider only once for all sessions
...
This is needed to avoid duplication of symbols for the same classIds
^KT-58539 Fixed
2023-07-06 11:00:38 +00:00
Dmitriy Novozhilov
d46f697cf8
[Test] Reproduce KT-58539
2023-07-06 11:00:38 +00:00
Dmitriy Novozhilov
1212128f04
[FIR plugin] Replace composable functions with regular kotlin functions
2023-07-06 11:00:38 +00:00
Sergej Jaskiewicz
6281faa063
[IR] Move IrFactory#createBlockBody overloads to extension methods
...
This is to prepare for IrFactory auto-generation (KT-59308).
2023-07-04 15:19:28 +00:00
Mads Ager
607d38f96f
[K2 plugin] Support simple arguments in annotation metadata extension.
...
^KT-58968
^KT-60051 Fixed
2023-07-04 14:11:26 +00:00
Alexander Udalov
c66bc36382
Build: fix some warnings in buildSrc and build.gradle.kts
2023-06-26 15:42:21 +00:00
Dmitriy Novozhilov
5717b59f52
[FIR/IR] Introduce an ability to propagate generated IR annotation to metadata
...
^KT-58638 Fixed
2023-06-21 06:56:59 +00:00
Dmitriy Novozhilov
24e07fdfe0
[FIR plugin] Add test for plugin which generates annotations on IR
...
^KT-58638
2023-06-21 06:56:59 +00:00
Dmitriy Novozhilov
fd670d33cb
[FIR plugin] Compile annotations in plugin sandbox to jvm and js
...
This is needed for further testing of plugins with JS backend
2023-06-21 06:56:59 +00:00
Dmitriy Novozhilov
2290a096d1
[Test] Add JVM platform to name of ..FirLoadCompiledKotlin.. tests
...
This is needed for further distinguishing them with similar JS tests
2023-06-07 10:58:01 +00:00
Sergej Jaskiewicz
f2031ae642
[IR] Don't print multifile/synthetic facade class names in irText tests
...
This only applies to JVM and fq-names in declaration references
in IR dumps.
This enables us to run more irText tests on platforms other than JVM
(see KT-58605).
2023-06-05 10:40:17 +00:00
Sergej Jaskiewicz
fd76a34277
[IR] Don't print flags in declaration references in irText tests
...
This doesn't reduce the quality of tests, because the flags are still
printed for declarations themselves. We only omit them in references.
However, this makes the tests more compatible with non-JVM backends
(see KT-58605), because flags of referenced stdlib declarations may
differ among target platforms.
2023-05-30 17:26:30 +00:00
Sergej Jaskiewicz
56f977f70c
[IR] Don't render facade classes in JVM fq-names in irText tests
...
This makes the tests more compatible with non-JVM backends
(see KT-58605)
2023-05-17 12:43:35 +00:00
Mads Ager
6117f76a8c
Discourage the use of LANGUAGE_VERSION directive.
...
Pinning the language version is rarely the right thing to do.
This changes makes it harder to do so by requiring an additional
directive with a name that indicates to developers that they are
likely doing something dangerous.
2023-05-15 14:29:48 +00:00
Mads Ager
089928ba2b
[K2] Support legacy serialization for custom function type extensions.
...
For Compose libraries, it is important that libraries built with
K2 in version 2.0 can be read and used by a version 1.9 K1
compiler. That is not possible if custom function types are
in the metadata.
^KT-58456 Fixed
2023-05-12 10:49:43 +00:00
Roman Golyshev
ac388010b1
[213] Add missing test runtime dependencies
...
KTI-1114
2023-04-21 13:19:04 +00:00
Roman Golyshev
d4cffb8a5a
[213] Switch to 213 platform
...
KTI-1114
2023-04-21 13:19:04 +00:00
Sebastian Sellmair
5d0bf2de24
[CLI] Restore K2JVMCompilerArguments.classpath and javaModulePath
...
to support IDEs < 2023.2
Reverts:
- 9dcd40d7b7
- fb66764c4d
KTIJ-25227
2023-04-18 09:18:10 +00:00
Dmitriy Novozhilov
839026b6fe
[FIR2IR] Generate IR declarations in classes in strict order
...
Order is following:
- declared declarations in declaration (in source) order
- generated declarations in sorted order
2023-04-11 13:43:38 +00:00
Sebastian Sellmair
9dcd40d7b7
[CLI] K2JVMCompilerArguments: Model classpath as Array<String>
...
to allow interning individual file-path arguments on the IDE
KTIJ-24976
2023-04-06 16:03:03 +00:00
Dmitriy Novozhilov
c957a0b43b
[IR] Properly serialize IrDeclarationOrigin.GeneratedByPlugin to klibs
...
^KT-56911 Fixed
2023-03-30 07:52:56 +00:00
Dmitriy Novozhilov
62ad784b73
[FIR] Fix matching annotated predicate for java and binary declarations
...
^KT-57400 Fixed
2023-03-27 10:54:27 +00:00
Dmitriy Novozhilov
336b6ba9f0
[FIR] Extract extension functional type from an annotated functional type during deserialization
...
^KT-57140 Fixed
2023-03-27 10:44:51 +00:00
Dmitriy Novozhilov
8ca7b32577
[FIR] Register type related extensions in libraries sessions
...
^KT-57140
2023-03-27 10:44:50 +00:00
Dmitriy Novozhilov
01fc84ee3a
[FIR] Add tests for plugins compatibility
...
^KT-57140
2023-03-27 10:44:50 +00:00
Dmitrii Gridin
706ff6b61f
[FIR] pre-resolve some scope callables before creating a scope
...
In a lot of cases, when we want to process the
declaration in scope, it should be resolved to at least TYPES phase.
To avoid doing it manually in all our variety of scopes, we do it when the scope it created.
It was implicitly working manually before as lazy resolve did a lot of extra work
on resolving a declaration it was not supposed to resolve.
Now it's not the case, and we have to explicitly resolve all the declarations we need.
^KT-56543
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2023-03-24 09:57:46 +00:00
Kirill Rakhman
59c61cdd07
[FIR Plugin prototype] Fix AllPropertiesConstructor test
...
^KT-56861 Fixed
2023-02-28 10:19:19 +00:00
Kirill Rakhman
9dda5e4fcd
[Test] Remove redundant FIR_DISABLE_LAZY_RESOLVE_CHECKS directives
...
KT-56177
2023-02-28 10:19:18 +00:00
Ilya Kirillov
ce3305300b
[FIR] temporary mute blackbox test which fails on runtime
...
It was failing before, but it was hidden as the actual test was not run due to the bug in the test pipeline.
In the case of any WrappedException.FromHandler were thrown, no blackbox tests were run.
Tracking issue: ^KT-56861
2023-02-24 16:11:45 +01:00
Ilya Kirillov
69c024a5ce
[FIR] optimize deprecation calculation for symbols
...
All symbols except member callables can be deprecated if they have non-empty annotation list
^KT-56800 fixed
2023-02-24 16:10:57 +01:00
Dmitriy Novozhilov
da581f38e1
[Test] Require specifying parser for FIR test. Unify names for FIR tests
...
Now all tests with `Fir` in name are named accordingly to parser which
is used in them -- `FirPsi` or `FirLightTree`. This is needed to keep
consistency between different types of tests, because there is no
single default in parser mode between different scenarios of using FIR
2023-02-24 11:15:26 +00:00
Dmitriy Novozhilov
41192b022d
[FIR] Pass context to all relevant methods of FirDeclarationGenerationExtension
...
^KT-53470 Fixed
2023-02-10 12:30:14 +00:00
Dmitriy Novozhilov
a197d1aadc
[FIR Plugin prototype] Add simple implementation of FirDeclarationsForMetadataProviderExtension
...
^KT-55885
2023-02-08 08:44:51 +00:00
Dmitriy Novozhilov
791a7b1c31
[FIR] Extract function type kind for lambda in argument position
...
^KT-56381 Fixed
2023-02-06 10:08:37 +00:00
Dmitriy Novozhilov
89c42e20c9
[FIR] Consistently use _function_ instead of _functional_ in names of classes and functions
2023-02-02 08:24:52 +00:00
Dmitriy Novozhilov
f268ab8858
[FIR plugin prototype] Implement Composable-like extension
2023-02-02 08:24:52 +00:00
Dmitriy Novozhilov
125b773205
[FIR] Introduce utility for creating ConeClassLikeLookupTagImpl from ClassId
...
`classId.toLookupTag()` looks much cleaner than `ConeClassLikeLookupTagImpl(classId)`
2023-02-02 08:24:48 +00:00
Ivan Kochurkin
c103da98dd
[FIR] Add missing dependencies to :compiler:fir:checkers:checkers.native
2023-01-24 15:27:12 +00:00