Mikhail Glukhikh
0ef32e5807
Don't create substituted copy of invoke descriptor with unchanged names
...
#KT-34919 Fixed
2022-04-04 13:08:28 +00:00
Mikhail Glukhikh
04e8e1b2ad
Move file annotation resolve a bit earlier #KT-51499 Fixed
2022-04-04 12:51:34 +00:00
Mikhail Glukhikh
899dc401c8
Add test for KT-51499 (occurs in FE10, already fixed in FIR)
2022-04-04 12:51:33 +00:00
Mikhail Glukhikh
d01e6b61a3
FIR: don't report PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED in exp.cl.
...
#KT-51761 Fixed
2022-04-01 16:15:53 +03:00
Mikhail Glukhikh
aaebb7a30e
FIR: don't create delegated constructor call in expect
...
#KT-51756 Fixed
2022-04-01 16:15:53 +03:00
Pavel Kunyavskiy
4873f18067
[K/N] Enable definitely not null cast test for native
2022-03-31 09:02:14 +00:00
Ilmir Usmanov
7579be6c68
Generate CHECKCAST after ACONST_NULL in coroutines
...
If we do not do this, the state-machine builder will not know the type
of the ACONST_NULL, defaulting to Object, leading to VerifyError.
Alternatively, we could use LVT to deduce the type, but getting types
from LVT is something I got rid of long time ago, and I have no desire
to return it back.
Generating CHECKCAST hints the state-machine builder the type of the
variable avoiding the issue of VerifyError. However, this CHECKCAST
replaces StrictBasicValue.NULL_VALUE with BasicValue in
OptimizationBasicInterpreter. To preserve optimization on not-spilling
known nulls, introduce BasicValues, which represent typed nulls and
create BasicInterpreter, which is aware of them. This way we have the
best of two worlds - we do not spill known nulls, and we know the type
of ACONST_NULL.
#KT-51718 Fixed
2022-03-30 14:27:29 +00:00
Ilya Chernikov
5d6e2b57a7
Sort sealed class inheritors to ensure reproducible builds with IC
...
without this sorting the inheritors field in the metadata may depend on
whether some inheritors are compiled in the IC round or not.
2022-03-30 08:35:30 +00:00
Ilya Chernikov
53bc593062
Fix interpreter tests after changing offset calculation
2022-03-30 08:35:21 +00:00
Ilya Chernikov
a239f02a30
Add cli argumens for FIR "tight" IC and LightTree usage
2022-03-30 08:32:03 +00:00
Pavel Kunyavskiy
7ba4d9e1f0
Rework nullability in IR
2022-03-30 06:27:59 +00:00
simon.ogorodnik
03bb482322
KT-45553. Hide declaration from star import if imported with alias
2022-03-29 23:38:42 +00:00
Svyatoslav Scherbina
8bb178e4a7
Native: ignore delegatedProperty/provideDelegate/kt39588.kt box test
...
It performs unchecked cast from `String` to `List<Any>`, which
legitimately fails when global optimizations are enabled.
^KT-48749 Declined
2022-03-29 13:27:44 +00:00
Dmitriy Novozhilov
078acb1bfe
[FE] Fix positioning strategy for SAFE_CALL_WILL_CHANGE_NULLABILITY warning
...
^KT-46860
2022-03-28 12:37:25 +00:00
Dmitriy Novozhilov
565c61a702
[FE 1.0] Fix false-negative INVALID_IF_AS_EXPRESSION_WARNING and NO_ELSE_IN_WHEN_WARNING
...
^KT-51711 Fixed
2022-03-28 12:37:24 +00:00
Ilya Goncharov
c67c1a69b9
rra/ilgonmic/reducing-size
...
[JS IR] Fix review remarks
- Fix translation mode from flags calculation
- comment why not top level could be safely inlined
[JS IR] Add test on exportness of internal val
Revert "[Gradle, JS] Disable minimizing names in production by default"
This reverts commit 700ff8634a73f155a2f0eaf963778216d6877075.
[JS IR] Adopt reserved names
Revert "[JS IR] Reserve interop names"
This reverts commit 63f30becaf1a45750ff85aea3753aae9a85985f4.
Revert "[JS IR] Clear minimized namer states"
This reverts commit ef7f19fa8a928021e8bdfbee7fbb5285fc74b7ab.
[JS IR] Clear minimized namer states
[JS IR] Reserve interop names
[JS IR] Separate arguments for users
[JS IR] Minimized member names in tests
[Gradle, JS] Disable minimizing names in production by default
[JS IR] Fix extra helps
[JS IR] Move mangling of signatures to linking namer
[JS IR] Add key and minimized name generator
[JS IR] cross module dependencies minimized
[JS IR] Minimize names
[JS IR] Cross module by index
[JS IR] Fix warning
[JS IR] Fix inlining accessors
[JS IR] Bridges for property accessors
[JS IR] Special case of jsFunctionSignature with property accessors
[JS IR] Inline property accessor for non top level properties
[JS IR] Reduce crossModule size
Merge-request: KT-MR-5785
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com >
^KT-51735 fixed
^KT-50504 fixed
2022-03-28 10:39:15 +00:00
Svyatoslav Scherbina
cf581738c3
Native: improve ClassCastException message for local classes
...
Previously it was like "null cannot be cast to MyObject" or
"MyObject cannot be cast to null", because `KClass.qualifiedName` is
`null` for local classes (including anonymous ones).
Use `KClass.toString()` instead, for both object actual dynamic type
and cast target type. This string representation is generally more
meaningful for such cases, and contains useful details for local
classes.
2022-03-28 08:21:55 +00:00
Victor Petukhov
7e491edf95
Allow empty type info for excl expressions
...
^KT-34515 Fixed
2022-03-24 11:46:00 +00:00
Evgeniy.Zhelenskiy
28bf83ceac
[IR] Unite inline class and multi-field value class representation
...
#KT-1179
2022-03-24 11:38:43 +00:00
Evgeniy.Zhelenskiy
282ab398c6
[IR] Generify lowerings
...
#KT-1179
2022-03-24 11:38:42 +00:00
Victor Petukhov
22b2554368
[FE 1.0] Support suspend only SAM conversions
...
^KT-50477 Fixed
2022-03-24 09:28:28 +00:00
Steven Schäfer
1134dc3858
JVM IR: Resolve fake overrides during inline class mangling
...
This is necessary to determine which mangling scheme to use (KT-51672).
2022-03-24 00:38:34 +00:00
Victor Petukhov
57a134c543
[FE 1.0] Report recursive type checker problem as a warning till 1.9
...
^KT-48546
2022-03-23 21:13:34 +00:00
Victor Petukhov
2307122089
[FE 1.0] Report errors for recursive types from completion as well
...
Such diagnostics could be missed at least for plus assignment's right side because it wasn't report for the second time of analysis
^KT-48546 Fixed
2022-03-23 21:13:34 +00:00
Victor Petukhov
27fa632630
[FE 1.0] Update test data with new error type representation
2022-03-23 21:13:33 +00:00
Victor Petukhov
8c1fcddea3
[FE 1.0] Don't miss NO_SET_METHOD checks
...
^KT-28109 Fixed
2022-03-23 21:13:33 +00:00
Victor Petukhov
3aabc8d666
[FE 1.0] Substitute anonymous object's supertypes while using that in public declarations
...
^KT-46136 Fixed
2022-03-23 21:13:32 +00:00
Mikhail Glukhikh
b327f5c731
Substitute type variables properly in ConeOverloadConflictResolver
...
#KT-46187 Fixed
2022-03-23 09:54:46 +00:00
Victor Petukhov
25a06bdc56
[Compiler CLI] Make language version description not in capital letters
...
^KT-51673 Fixed
2022-03-22 13:41:46 +00:00
Simon Ogorodnik
9f6a812786
Fix multiple registration of same type variable in builder inference
2022-03-18 12:14:00 +00:00
Alexander Udalov
ae2c4753df
Fix incorrect test data on KCallable.call for inline classes
2022-03-18 12:29:05 +01:00
Alexander Udalov
8b56babb1d
Fix type mapping of nullable inline class types in reflection
...
Based on #4761 .
#KT-31141 Fixed
Co-authored-by: wrongwrong <boranti1995@gmail.com >
2022-03-18 12:29:05 +01:00
Alexander Udalov
07ebf4ed29
Do not suppress errors with -Xsuppress-version-warnings
...
#KT-48833 Fixed
2022-03-18 12:28:28 +01:00
wrongwrong
a1b6c9f546
Fixed a bug where DEFAULT_CONSTRUCTOR_MARKER appeared twice as an argument
...
#KT-27598 Fixed
Co-authored-by: Alexander Udalov <alexander.udalov@jetbrains.com >
2022-03-17 00:54:09 +01:00
Mikhail Glukhikh
87a7408ddf
FIR: handle double-imported qualifiers properly
2022-03-15 13:21:02 +00:00
Mikhail Glukhikh
b038ae8b0c
FIR: handle double-imported constructors properly
2022-03-15 13:21:01 +00:00
Mikhail Glukhikh
0a7da903f4
FE1.0/FIR: add test for "double import" situation
2022-03-15 13:21:00 +00:00
Mikhail Glukhikh
5810ac01d2
FE1.0/FIR: slightly fix diagnostic messages about OptIn
2022-03-15 13:08:19 +00:00
Alexander Korepanov
69295f2cf0
[JS IR] IC invalidation refactoring
...
- Huge refactoring for IC
- Update hash combination logic
- Introduce value class for IC hashes
- Calc md5 directly by function IR
- Split IC logic by classes
- Move JsIrLinkerLoader into separate file
- CacheUpdateStatus is a sealed class
- Render TYPE_PARAMETER reified flag
^KT-51081 Fixed
^KT-51084 Fixed
2022-03-15 05:34:19 +00:00
Yan Zhulanow
fa4dadf9b7
Update KotlinClassInnerStuffCache implementation
...
'KotlinClassInnerStuffCache' was copy-pasted from the platform's
'ClassInnerStuffCache' several years ago. After J2K and other changes,
it became quite dirty.
Besides cleaning things up, enum synthetic method handling have
significantly improved. Before, such methods were handled only in
'processDeclarationsInEnum', and 'getMethods()' didn't return them.
This led to inconsistent behavior and was reason for providing special
ad-hoc support in '1b6ded600518176b21cc308ed3e032ef8d04cc90'.
2022-03-14 17:53:55 +09:00
Yan Zhulanow
f237631f05
Revert "FIR/LC: create synthetic members of enum class"
...
This reverts commit 1b6ded60
2022-03-14 17:53:55 +09:00
Mikhael Bogdanov
6b00b51e6d
Generate fake variables for default lambdas during inline
...
#KT-51557 Fixed
2022-03-14 08:48:26 +00:00
Xin Wang
4277827506
Don't transform irBranch if tableswitch can't be generated
...
#KT-34466 Fixed
2022-03-12 14:30:00 +03:00
Dmitriy Novozhilov
6f64aedaf0
[FIR] Fix FindReferencePositioningStrategy for light tree
...
There was a problem which causes to lookup for assign token inside
functions from arguments of call
2022-03-11 15:36:05 +03:00
Dmitriy Novozhilov
ade2307345
[FIR] Fix exponential analysis of augmented array access calls
...
^KT-50861 Fixed
2022-03-11 15:36:05 +03:00
wrongwrong
c4735f9f29
Add tests for KFunction involving value classes
...
See KT-31141.
2022-03-10 23:28:40 +01:00
Mikhail Glukhikh
c8453ec8b4
FIR: report ambiguity-like errors in type resolve
2022-03-10 20:42:42 +00:00
Simon Ogorodnik
4ba5a55626
FIR. Add visibility/deprecation filtering to type resolve
2022-03-10 20:42:39 +00:00
Mikhail Glukhikh
779aa75855
Make FE1.0/FIR OptIn override message more clear
2022-03-10 09:09:51 +00:00
Mikhail Glukhikh
d823020c07
Make FIR/FE1.0 report similar OptIn messages
2022-03-10 09:09:50 +00:00