Tianyu Geng
32f55a2269
FIR checker: report VIRTUAL_MEMBER_HIDDEN
2021-06-09 16:27:49 +03:00
Tianyu Geng
d3dfb33f89
FIR: consolidate duplicated logic in FirOverrideChecker
2021-06-09 16:27:26 +03:00
Mikhail Glukhikh
c33608e009
FIR: don't render resolved type annotations in favor of attributes
2021-06-09 15:42:43 +03:00
Mikhail Glukhikh
06379ec587
FIR: handle varargs properly during annotation serialization
2021-06-09 15:42:42 +03:00
Mikhail Glukhikh
da671eedc9
FIR: avoid CCE in constants during annotation serialization
2021-06-09 15:42:41 +03:00
Mikhail Glukhikh
3127fad23d
FIR: more precise annotation argument serialization
2021-06-09 15:42:39 +03:00
Mikhail Glukhikh
491267b4f7
FIR2IR: convert annotations on local variables
2021-06-09 15:42:38 +03:00
Mikhail Glukhikh
77dd0ad396
FIR: handle custom attributes more precise
2021-06-09 15:42:37 +03:00
Mikhail Glukhikh
4f70f47fa6
FIR2IR: convert annotations on type parameters #KT-46967 Fixed
2021-06-09 15:42:36 +03:00
Andrey Zinovyev
ddc9c1bd1b
[FIR] Fix extension property reference resolution
...
On type with star projection
#KT-44372 Fixed
2021-06-09 15:15:28 +03:00
pyos
ade8b0a7d3
JVM_IR: box bound receiver before calling the reference constructor
...
This is needed for the inliner: since the information about Kotlin type
of the bound receiver is nowhere in the output binary, the inliner will
have no clue how to box inline class values. Moving the boxing outside
the object means the inliner doesn't need to know about it; from its
point of view, the captured value has type `Any`.
2021-06-09 14:36:07 +03:00
Andrey Zinovyev
972cd9e9e7
[FIR] Fix PACKAGE_CANNOT_BE_IMPORTED diagnostic
...
Don't report it when there is a function/property with the same name as
package
2021-06-09 09:02:49 +03:00
Denis.Zharkov
2653565f56
FIR: Support exhaustive whens on subjects of intersection type
2021-06-08 18:59:48 +03:00
Mikhail Glukhikh
0e63484738
Fix OptIn marker usages in code according to new limitation
2021-06-08 11:37:35 +03:00
Mikhail Glukhikh
603afe89a2
Forbid using experimental markers on override declarations
...
#KT-45844 Fixed
2021-06-08 11:37:30 +03:00
Mikhail Glukhikh
0a670bf055
Report EXPERIMENTAL_API diagnostics on various implicit usages
...
#KT-32443 Fixed
#KT-22852 Fixed
2021-06-08 11:37:28 +03:00
Mikhail Glukhikh
d8d38862d9
Introduce EXPERIMENTAL_ANNOTATION_WITH_WRONG_RETENTION diagnostic
...
#KT-22941 Fixed
2021-06-08 11:37:27 +03:00
Mikhail Glukhikh
7393465696
Don't report EXPERIMENTAL_OVERRIDE_ERROR on annotated local functions
...
#KT-31728 Fixed
2021-06-08 11:37:26 +03:00
Mikhail Glukhikh
fa307a5f75
Drop LocalCallableIdConstructor OptIn-annotation
2021-06-08 11:37:24 +03:00
Andrey Zinovyev
3572a96bb9
[FIR] Lookup in local sources in default imports based on the flag
...
Reuse ALLOW_KOTLIN_PACKAGE for that
2021-06-08 08:23:25 +00:00
Andrey Zinovyev
3eeddf7077
[FIR] Use member scope to look up function/property by name
2021-06-08 08:18:57 +00:00
Andrey Zinovyev
c507d1c938
[FIR] Implement OPERATOR_RENAMED_ON_IMPORT diagnostic
2021-06-08 08:18:56 +00:00
Andrey Zinovyev
7c669b65c3
[FIR] Implement CONFLICTING_IMPORT diagnostic
2021-06-08 08:18:55 +00:00
Andrey Zinovyev
14789cb9e5
[FIR] Implement CANNOT_BE_IMPORTED diagnostic
2021-06-08 08:18:54 +00:00
Andrey Zinovyev
bf153ab0f0
[FIR] Implement CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON diagnostic
2021-06-08 08:18:54 +00:00
Dmitry Petrov
81b09ca09f
KT-46267 JVM_IR don't generate unnecessary ATHROW in lateinit var read
2021-06-07 20:02:24 +03:00
Simon Ogorodnik
d3453e98b0
FIR Tests: Add async-profiler per-pass sampling to full pipeline
2021-06-07 19:43:28 +03:00
Simon Ogorodnik
718e9c11f5
FIR Tests: Fix FirMetaModularizedTest to run properly on Windows
2021-06-07 19:43:10 +03:00
Ivan Kylchik
cc169613c1
Drop result of finally block after interpretation
...
This change is needed due to using FIR as frontend for tests. In this
case finally block doesn't has coercion to unit so it's result must
be dropped manually.
2021-06-07 15:35:20 +03:00
Ivan Kylchik
e28ab45c51
Add ir interpreter tests
2021-06-07 15:35:12 +03:00
Ivan Kylchik
ca1932b3a5
Set proper fir type for deserialized annotation's arguments
2021-06-07 15:35:03 +03:00
Ivan Kylchik
d578aa0ec5
Pass irFile in interpreter method in IrConstTransformer
2021-06-07 15:34:35 +03:00
Ivan Kylchik
1151c6177b
Move IrCompileTimeChecker to separate checker package
2021-06-07 15:33:37 +03:00
Denis.Zharkov
592256976e
FIR: Fix inference of builder-inference function from expect type
...
Previously, such calls were being completed with FULL mode and incorrect
INFERENCE_NO_INFORMATION_FOR_PARAMETER has been reported
2021-06-07 15:25:57 +03:00
Denis.Zharkov
18e93b50d9
FIR: Fix loading read-only collection Java types with incorrect variance
2021-06-07 15:25:56 +03:00
Denis.Zharkov
5ade831665
FIR: Fix INFERENCE_NO_INFORMATION_FOR_PARAMETER on type alias with generic expansion
...
^KT-46996 Fixed
2021-06-07 15:25:55 +03:00
Denis.Zharkov
d932d5b0a5
FIR: Support adding expect type to calls in foo() as R position
...
See https://kotlinlang.org/docs/whatsnew12.html#support-for-foo-as-a-shorthand-for-this-foo
2021-06-07 15:25:51 +03:00
Denis.Zharkov
6136526a3a
FIR: Avoid reporting inference errors from DelegatedPropertyConstraintPosition
...
All necessary diagnostics have already been reported through the checkers
2021-06-07 15:25:50 +03:00
Denis.Zharkov
43f3fe1ebe
FIR: Avoid missing errors during delegation resolution
...
Merge inference errors from delegation partially resolved calls to the main system
2021-06-07 15:25:49 +03:00
Denis.Zharkov
0aca3a3737
FIR: Adjust test data after introduction of INFERENCE_NO_INFORMATION_FOR_PARAMETER
...
See previous commits for details
2021-06-07 15:25:47 +03:00
Denis.Zharkov
c420957eac
FIR: Report INFERENCE_NO_INFORMATION_FOR_PARAMETER diagnostic
2021-06-07 15:25:45 +03:00
pyos
0bd8d16fe2
JVM_IR: fix Result types in continuations & remove more codegen hacks
...
#KT-47129 Fixed
2021-06-07 09:57:42 +02:00
Dmitry Petrov
7fd033adae
JVM_IR KT-47073 use type parameter upper bound for default value
2021-06-04 20:54:01 +03:00
Ivan Kochurkin
c4c2fbb5a0
[FIR] Implement RECURSIVE_TYPEALIAS_EXPANSION, CYCLIC_INHERITANCE_HIERARCHY diagnostics, fix stackoverlow exception in case if typealias points to type with type arguments
2021-06-03 20:41:58 +03:00
Mark Punzalan
d1531f9cdd
FIR: Choose a resolved candidate for augmented assignment when both
...
assign and operator candidates are unsuccessful.
2021-06-03 20:18:04 +03:00
Mark Punzalan
32bb64a225
FIR: Report UNSAFE_OPERATOR_CALL for augmented assignments (was
...
reporting UNSAFE_CALL).
2021-06-03 20:18:03 +03:00
Mark Punzalan
6de1000818
FIR: Report UNSAFE_INFIX_CALL for all infix-style calls, even if the
...
candidate is not an infix function.
This mirrors FE 1.0 (see
`AbstractTracingStrategy.reportUnsafeCallOnBinaryExpression()`) and
allows consistent handling for quickfixes on infix calls.
2021-06-03 20:18:01 +03:00
Ilya Kirillov
c998d0f026
FIR: make FirStaticScope to be name aware
2021-06-03 19:38:47 +03:00
Ilya Kirillov
6b450e6fdf
FIR: make FirOnlyClassifiersScope/FirOnlyCallablesScope to be name aware
2021-06-03 19:38:29 +03:00
Victor Petukhov
1e5998e0ba
Add constraints between two different stub variables instead of creating constraint error due to T1 isn't subtype of T2
...
^KT-44241 Fixed
2021-06-03 19:18:09 +03:00