Ilya Goncharov
4179d078ca
[JS IR] Add test on call of suspend super type
2021-08-26 08:50:14 +00:00
Dmitriy Novozhilov
0924216ed2
[FIR] Distinguish stub types for builder inference and for subtyping
...
^KT-48110 Fixed
2021-08-26 10:08:52 +03:00
Ivan Kochurkin
84c5f58cab
[FIR] Implement UNRESOLVED_REFERENCE_WRONG_RECEIVER
2021-08-25 21:53:23 +00:00
Ivan Kochurkin
34cc7e5199
[FIR] Fix resolving to star import member instead of builtin (^KT-48157 Fixed)
2021-08-25 21:53:23 +00:00
Ivan Kochurkin
bb27ae2b42
[FIR] Fix incorrect resolve of callable reference in function signature (^KT-48304 Fixed)
2021-08-25 21:53:23 +00:00
Tianyu Geng
10d4dfef04
FIR: check subclass of sealed class
2021-08-25 14:37:24 +03:00
Dmitry Petrov
c30b23ed01
JVM_IR fixes after review
2021-08-24 18:56:22 +03:00
Dmitry Petrov
f4dd75e769
JVM_IR don't inline temporary val for 'when' subject
2021-08-24 18:56:21 +03:00
Dmitry Petrov
f4a1e27124
JVM optimize unneeded temporary vals
2021-08-24 18:56:20 +03:00
Dmitry Petrov
d8f6d82411
JVM don't optimize temporary vals in old back-end
2021-08-24 18:56:19 +03:00
Dmitry Petrov
568958492a
JVM_IR optimize temporary vals initialized with other vals
2021-08-24 18:56:18 +03:00
Dmitry Petrov
939f25333e
JVM update testData
2021-08-24 18:56:17 +03:00
Dmitry Petrov
7e943ab757
JVM don't optimize out starting ASTORE of TCB handler
2021-08-24 18:56:14 +03:00
Dmitry Petrov
dcbc2ea2b3
JVM infer temporary vals from bytecode
2021-08-24 18:56:13 +03:00
Dmitry Petrov
041773fd25
JVM optimize out temporary variables in bytecode
2021-08-24 18:56:11 +03:00
Alexander Udalov
4f29c113b7
Remove KotlinCompilerVersion.IS_PRE_RELEASE
...
Now, milestones of major Kotlin releases (e.g. 1.6.0-M1) will NOT
generate prerelease binaries anymore.
The reason for that is it's proven to be quite a complicated process to
turn on IR_PRE_RELEASE after the release is branched, perform double
bootstrap and fix tests, and then do it again in reverse just before
release. With the new release cadence, we don't have that much time to
do it and verify that everything works as intended.
Note that this only removes the "global" prerelease flag. Compiler will
still generate prerelease binaries if a non-stable language version is
used. For example, Kotlin 1.6.0-M1 with `-language-version 1.7` will
generate prerelease binaries.
2021-08-24 16:23:42 +02:00
Alexander Udalov
8d4f26cf84
IR: use inlineClassRepresentation in getInlineClassUnderlyingType
...
Looking for the primary constructor manually doesn't work if it's
private in the other module on JVM, because private declarations are
skipped in IrLazyClass.
2021-08-24 12:28:31 +02:00
Mikhail Glukhikh
12726bde15
Deprecate smart cast on alien derived property #KT-48101 Fixed
2021-08-24 12:32:30 +03:00
Mikhail Glukhikh
3f8734f694
FIR: determine synthetic accessor modality more precisely
...
Related to KT-47542
2021-08-24 12:32:30 +03:00
Mikhail Glukhikh
bbb76aae3f
Provide more precise check for ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
...
#KT-47542 Fixed
2021-08-24 12:32:30 +03:00
Steven Schäfer
f05f9882ab
IR: Handle annotation instantiations in constructor calls
2021-08-23 23:04:35 +02:00
Steven Schäfer
6d518c8e57
JVM IR: Mark annotation implementation classes as anonymous
...
And add tests to ensure that annotation implementation classes are
handled correctly in jvm-abi-gen.
2021-08-23 18:25:33 +02:00
Steven Schäfer
1b5214a2dc
JVM: Fix usage of ClassBuilder API in AnonymousObjectTransformer
2021-08-23 18:25:33 +02:00
Steven Schäfer
c9b0cc5b32
JVM: Only produce inline SAM wrappers in public inline scope
2021-08-23 18:25:33 +02:00
Dmitriy Novozhilov
40614507d3
[FE 1.0] Report warning about new IL operator resolve in initializers and default values
...
^KT-48361 Fixed
2021-08-23 16:20:41 +03:00
pyos
a15a5aa429
JVM_IR: generate instance fields even when reification is needed
...
The inliner supports that, we just need to generate the reification
markers on GETFIELD to instance fields.
2021-08-23 14:27:51 +02:00
Ilmir Usmanov
c01c356817
Do not extend LVT ranges during inplace arguments inlining
...
Otherwise, R8 does not transform kotlin-reflect, failing bootstrap.
Leaving end label the same is safe, since we do not remove labels during
transformation.
2021-08-23 11:51:30 +00:00
Dmitriy Novozhilov
27ac7dbf9a
[Test] Unmute passing codegen tests
2021-08-23 14:29:12 +03:00
Mikhail Glukhikh
7b0e5927cb
Report EXPERIMENTAL_ANNOTATION_ON_WRONG_TARGET without explicit @Target
...
#KT-48349 Fixed
2021-08-23 14:18:34 +03:00
Andrey Zinovyev
865fccdd29
[FIR] Add messages for JvmRecord diagnostics
...
Also fix some tests
2021-08-23 10:33:24 +00:00
Andrey Zinovyev
a3049b35c2
[FIR] Add ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE diagnostic
2021-08-23 10:33:24 +00:00
Andrey Zinovyev
09a1d54865
[FIR] Add JVM_RECORD_EXTENDS_CLASS diagnostic
2021-08-23 10:33:23 +00:00
Andrey Zinovyev
8c2d37917f
[FIR] Add DELEGATION_BY_IN_JVM_RECORD diagnostic
2021-08-23 10:33:23 +00:00
Andrey Zinovyev
3314c8faac
[FIR] Add FIELD_IN_JVM_RECORD diagnostic
2021-08-23 10:33:23 +00:00
Andrey Zinovyev
dbc1e31e67
[FIR] Add INNER_JVM_RECORD diagnostic
2021-08-23 10:33:22 +00:00
Andrey Zinovyev
bf845b6066
[FIR] Add JVM_RECORD_NOT_VAL_PARAMETER diagnostic
2021-08-23 10:33:21 +00:00
Andrey Zinovyev
e8405c41d1
[FIR] Report UNSUPPORTED_FEATURE if jvm records feature is not enabled
2021-08-23 10:33:21 +00:00
Andrey Zinovyev
c7008892fd
[FIR] Add NON_DATA_CLASS_JVM_RECORD diagnostic
2021-08-23 10:33:21 +00:00
Andrey Zinovyev
84f5d6b149
[FIR] Add JVM_RECORD_WITHOUT_PRIMARY_CONSTRUCTOR_PARAMETERS diagnostic
2021-08-23 10:33:20 +00:00
Andrey Zinovyev
3fee87a0f3
[FIR] Add ENUM_JVM_RECORD diagnostic
2021-08-23 10:33:20 +00:00
Andrey Zinovyev
c8381e9b0f
[FIR] Add NON_FINAL_JVM_RECORD diagnostic
2021-08-23 10:33:20 +00:00
Andrey Zinovyev
6b70aecad5
[FIR] Add LOCAL_JVM_RECORD diagnostic
2021-08-23 10:33:19 +00:00
Ilya Chernikov
47ea5330ff
IR: Allow references to script constructor in module
...
aso add test checking (somewhat confusing) semantic of
script nested classes.
2021-08-23 12:49:45 +03:00
Ilya Chernikov
e7cbc9a0fb
IR: Process script with LDL as if it is a function body
...
#KT-46645 fixed
#KT-48025 fixed
2021-08-23 12:49:43 +03:00
Victor Petukhov
d730db094a
Don't look at raw type's arguments while enhancing super types
...
^KT-48172 Fixed
2021-08-20 13:10:45 +03:00
Dmitry Petrov
a3bb9dde45
JVM_IR KT-48295 don't upcast field receiver with super qualifier
2021-08-20 12:27:43 +03:00
pyos
858bd47c45
JVM_IR: use substituted return type when lowering inline references
...
#KT-48267 Fixed
2021-08-20 06:41:03 +02:00
Mads Ager
0b84de31b7
[JVM IR] Generate line number for exception store for finally.
...
^KT-46451 Fixed
2021-08-20 00:59:55 +02:00
Victor Petukhov
a1519b7b4e
Be able to infer a type variable based on several builder inference lambdas
...
^KT-48329 Fixed
2021-08-20 01:28:12 +03:00
Victor Petukhov
bf1e68a53f
Resolve calls using the builder inference despite the presence of the annotation if there are uninferred type variables
...
^KT-48194 Fixed
2021-08-20 01:28:11 +03:00