Dmitriy Novozhilov
a710a8d10f
[FE 1.0] Report warning on non-exhaustive when statements only after 1.6
...
^KT-47709
2021-07-21 17:53:05 +03:00
Leonid Startsev
3d0126d5dd
Revert "Instantiation of annotations for JVM IR with the corresponding feature flag"
...
because of incorrect rebase
This reverts commit ce0a3a57
2021-07-21 15:23:24 +03:00
Leonid Startsev
ce0a3a57df
Instantiation of annotations for JVM IR with the corresponding feature flag
...
Seperate checker for platforms that do not support this language feature yet
Synthetic implementations of annotations are generated on-demand with proper
equals, hashCode, and annotationType methods
#KT-47699 Fixed
2021-07-21 10:23:51 +00:00
Mads Ager
6436a1686d
[JVM_IR] Recursively perform constant lowering.
...
Otherwise constants in child expressions are not transformed.
^KT-47716 Fixed.
2021-07-21 02:11:41 +02:00
Mads Ager
2877f1cabe
[JVM_IR] Fix check for inline class property backing in lowering.
...
The inline class lowering would attempt to lower a companion object
property backing field.
^KT-47762 Fixed.
2021-07-21 01:56:46 +02:00
Andrey Zinovyev
6ef4523555
[FIR] Cache callable names in some composite scopes
2021-07-20 14:25:16 +03:00
Andrey Zinovyev
15be38192b
[FIR] Mark implicit types in accessors as fake
...
To not check their types in deprecation checker
2021-07-20 14:25:14 +03:00
Dmitriy Novozhilov
f3116cb64a
Fix NON_EXHAUSTIVE_WHEN_STATEMENT warnings in project code
2021-07-20 13:33:46 +03:00
Dmitriy Novozhilov
a6edd852ff
[FIR] Report NON_EXHAUSTIVE_WHEN_STATEMENT/NO_ELSE_IN_WHEN for when's on logical types
...
^KT-47709 In Progress
2021-07-20 13:33:44 +03:00
Dmitriy Novozhilov
ef635f6a96
[FE 1.0] Report NON_EXHAUSTIVE_WHEN_STATEMENT/NO_ELSE_IN_WHEN for when's on logical types
...
^KT-47709 In Progress
2021-07-20 13:33:43 +03:00
Andrey Zinovyev
4a37de51bb
[FIR] Add ANONYMOUS_INITIALIZER_IN_INTERFACE diagnostic
2021-07-20 13:29:00 +03:00
Dmitriy Novozhilov
749dbf4d44
[FIR] Safe dependency symbol provider in IDE session
2021-07-20 10:33:53 +03:00
Dmitriy Novozhilov
37c096cb10
[FIR] Support creation of IR of common + platform sources in FirAnalyzerFacade
2021-07-20 10:33:52 +03:00
Dmitriy Novozhilov
df11ccf755
[FIR] Fix dependency on jvm descriptors for running fir2ir tests with JPS
2021-07-20 10:33:51 +03:00
Dmitriy Novozhilov
c3060e861f
[FIR] Add expect actual checker
2021-07-20 10:33:49 +03:00
Dmitriy Novozhilov
3b2df7ade3
[FIR] Inherit expect modifier from outer classes
2021-07-20 10:33:46 +03:00
Dmitriy Novozhilov
18af4155b8
[FIR] Properly infer open modality for functions of expect interfaces
2021-07-20 10:33:45 +03:00
Dmitriy Novozhilov
3991383853
[FIR] Provide compiler light classes from all source modules
2021-07-20 10:33:44 +03:00
Dmitriy Novozhilov
8729421e7a
[FIR] Add kind to all FirSessions
2021-07-20 10:33:43 +03:00
Dmitriy Novozhilov
2c1ada131d
[FIR] Don't generate implicit primary constructor for expect classes
2021-07-20 10:33:42 +03:00
Dmitriy Novozhilov
b1e47a46cd
[FIR] Inherit isExpect flag of members from containing class
2021-07-20 10:33:41 +03:00
Dmitriy Novozhilov
9fd25af1a7
[FIR] Add pretty toString to FirSession and ModuleData
2021-07-20 10:33:40 +03:00
Dmitriy Novozhilov
55775a7beb
[FIR] Use proper moduleData in fake override generator
2021-07-20 10:33:38 +03:00
Dmitriy Novozhilov
7f20b83159
[FIR] Use proper moduleData in synthetic properties scope
2021-07-20 10:33:37 +03:00
Dmitriy Novozhilov
7008f02962
[FIR] Create fir classes for java annotations and enums with Final modality
2021-07-20 10:33:34 +03:00
Dmitriy Novozhilov
ec1651df92
[FIR] Store dependencies symbol provider as separate session component
2021-07-20 10:33:31 +03:00
Dmitry Petrov
e276dec4de
JVM don't merge local values in FixStackAnalyzer
...
We care only about stacks there.
This yields about 10-15% in a pathological case such as KT-41510.
2021-07-19 19:24:57 +03:00
Ilya Kirillov
c266d3e075
LL API: fix kt -> fir mapping for KtValueArgumentList
2021-07-19 18:45:34 +03:00
Ilya Kirillov
c0eb669191
LL API: add basic tests for kt -> fir mapping
2021-07-19 18:45:28 +03:00
Dmitriy Novozhilov
c304363aea
[FE 1.0] Report WRONG_ANNOTATION_TARGET on annotations on type arguments
...
^KT-47772 Fixed
2021-07-19 14:00:24 +03:00
Andrey Zinovyev
046d886850
[FIR] Fix Nothing returning expressions when checking for not null
2021-07-19 13:40:32 +03:00
Andrey Zinovyev
7e9f27436a
[FIR] Fix cfg for safe call inside elvis
2021-07-19 13:40:31 +03:00
Andrey Zinovyev
c160511244
[FIR] Basic support for break inside try-finally blocks
...
Support single try expression only
2021-07-19 13:40:30 +03:00
Andrey Zinovyev
a6984c5198
[FIR] Add NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY diagnostic
2021-07-19 13:40:28 +03:00
Dmitry Petrov
d41fc0b599
PSI2IR fix suspend conversion tests
...
- support chained suspend conversion + SAM conversion
- support suspend conversion in vararg elements
2021-07-17 09:10:19 +03:00
Victor Petukhov
0cc6fbbc6e
Add tests for converting expressions of function types to suspending functional types
2021-07-17 09:10:17 +03:00
Mads Ager
b51ff799cb
Fix IteratorNext intrinsic to cast its dispatch receiver to
...
the expected type.
^KT-47741 Fixed.
2021-07-16 21:07:11 +02:00
Victor Petukhov
6a1ec92d39
Introduce specific error for calls which could be resolved only with unrestricted builder inference
...
^KT-47747 Fixed
2021-07-16 19:32:36 +03:00
Victor Petukhov
357fda2efa
Initialize builder inference lambda anyway, even a call is inapplicable
...
^KT-47744 Fixed
2021-07-16 19:32:35 +03:00
Dmitriy Novozhilov
afb7625d0c
[FE 1.0] Fix false positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
...
^KT-47729 In progress
2021-07-16 15:18:44 +03:00
Dmitriy Novozhilov
2fb5f776d8
[FE 1.0] Report INTEGER_OPERATOR_RESOLVE_WILL_CHANGE on calls in parenthesis
...
^KT-47729 In progress
2021-07-16 15:18:38 +03:00
Victor Petukhov
ea4ab46765
Report implicit inferred Nothing only for own type parameters and in delegation resolve
...
^KT-47724 Fixed
2021-07-16 11:21:51 +03:00
Ilya Chernikov
02bf745eef
IR: Remove some unused IrBuiltIns methods
2021-07-16 02:24:44 +03:00
Ilya Chernikov
51dc829aae
IR: Move unsigned classes loading from builtins back to symbols
...
see #KT-47540 for the motivation
2021-07-16 02:24:43 +03:00
Ilya Chernikov
808f5148f3
IR: implemented generic knownBuiltIns property
2021-07-16 02:24:42 +03:00
Ilya Chernikov
a7d494480c
[minor] FIR: minor fixes in FIR-based IrBuiltIns
2021-07-16 02:24:41 +03:00
Ilya Chernikov
19f52d9aae
[minor] FIR: fix irbuiltins implementation after rebase
2021-07-16 02:24:38 +03:00
Ilya Chernikov
873a7c6ef1
FIR: Implement delayed binding of overriddens in the delegated members
...
fixes the problem when overridden symbols on delegated members were
build on the incomplete fake overrides leading to the incorrect
generation of the function for default parameter and thus to the
codegen error (see withDefaultsMultipleFilesOrder test for an example)
2021-07-16 02:24:37 +03:00
Ilya Chernikov
c9b6847d83
FIR: Add test on delegated member with default param in overridden...
...
sensitive to the file processing order, therefore failing on the
current fir2ir at least with the new irBuiltIns
2021-07-16 02:24:36 +03:00
Ilya Chernikov
a2385b5edd
[minor] FIR: Fix Fir2ir jvmmappedscope functions origins
2021-07-16 02:24:35 +03:00