Victor Petukhov
e0a8e9a664
Do updating calls for all nested builder inference sessions including at the same level
2021-03-24 15:57:47 +03:00
Victor Petukhov
80ac62864d
Don't lose inference session in all the possible locations
2021-03-24 15:57:47 +03:00
Victor Petukhov
7a66e22bb2
Implement top-down completion for nested builder inference calls
...
^KT-42742 Fixed
2021-03-24 15:57:36 +03:00
Dmitriy Novozhilov
e00e726bcb
[FIR] Add test for KT-45584
2021-03-24 12:56:17 +03:00
Dmitriy Novozhilov
f4afc2ef44
[FIR] Map dispatch receiver type of function in JvmMappedScope
2021-03-24 12:56:16 +03:00
Dmitriy Novozhilov
7dc3be3b9b
[FIR2IR] Replace star projections with upper bounds for SAM conversion types
2021-03-24 12:56:15 +03:00
Dmitriy Novozhilov
de03124f50
[FIR] Fix reporting EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR warning
2021-03-24 12:56:14 +03:00
Dmitry Petrov
4f250ed498
JVM_IR KT-45377 rewrite constants again after AddContinuationLowering
2021-03-23 16:05:24 +03:00
Ilmir Usmanov
886e3e6655
Update tests, which check -X... flag in LauncherScriptTest
...
Previously, -Xallow-result-return-type was used to test, whether the
launcher parses -X... flags correctly, however, it has no effect -
returning Result is allowed anyway. So, instead, use -Xno-inline and
check runtime behavior.
2021-03-22 23:14:23 +00:00
Alexander Udalov
b5f9b1dfc0
JVM IR: support inline classes with private constructors from other modules
...
#KT-44723 Fixed
2021-03-22 21:57:07 +01:00
Alexander Udalov
dac218dc39
Minor, regroup compileKotlinAgainstKotlin tests on inline classes
2021-03-22 21:57:04 +01:00
Ilmir Usmanov
3124a4ddae
Minor. Update test data
2021-03-22 17:35:08 +01:00
Ilmir Usmanov
9c97f1ce35
Allow Result return type and nullability operators on Result type
...
by default
2021-03-22 14:56:16 +00:00
Br0mm
75e4c74256
[FIR] Add FirConstValWithGetterOrDelegateChecker
2021-03-22 15:05:40 +03:00
Ilmir Usmanov
3bcc2fe476
Minor. Add IDE MPP test
2021-03-22 11:13:14 +00:00
Ilmir Usmanov
164e9034d1
IC MPP: Allow expect value classes without @JvmInline
...
#KT-45525 Fixed
2021-03-22 11:13:13 +00:00
scaventz
0dc5ed53f8
Provide sensible toString for getter/setter in reflection.
2021-03-22 11:21:54 +01:00
Dmitry Petrov
9e30ddd12e
JVM_IR KT-45581 generate H_INVOKEINTERFACE for interface method handles
2021-03-19 18:57:21 +03:00
Dmitry Petrov
73d4fa65ea
JVM_IR KT-45431 don't optimize out $$delegatedProperties in companion
...
Corresponding delegates are initialized in the host class, using
'$$delegatedProperties'.
TODO figure out proper code generation scheme for delegated properties
in companions (KT-45580)
2021-03-19 18:54:01 +03:00
Dmitry Petrov
f6baabd98e
JVM_IR KT-45408 rewrite static calls recursively
2021-03-19 18:53:59 +03:00
Alexander Udalov
415d52fe54
Deprecate KotlinJvmOptions.useIR
...
Starting from language version 1.5, JVM IR is enabled by default, so
this option has no effect. To rollback to the old JVM backend, the new
option useOldBackend can be used.
#KT-45504 Fixed
2021-03-19 14:57:55 +01:00
Victor Petukhov
a2b1aa753b
Substitute captured types with type variables properly
...
^KT-44687 Fixed
2021-03-19 16:16:09 +03:00
Ilya Goncharov
88abb3d6c9
[JS IR] Fix creating of classes extended from nested one
...
[JS IR] Extract getClassRef method
^KT-44950 fixed
2021-03-18 21:14:00 +03:00
Steven Schäfer
d0424465b8
JVM IR: Resolve fake overrides when calculating return types (KT-44867)
2021-03-18 16:02:35 +01:00
Roman Artemev
9632839253
[JVM IR] Add jvm box test for KT-45297
2021-03-18 16:50:27 +03:00
Roman Artemev
0a4f2bc39c
[IR] Add irText test for KT-45297
2021-03-18 16:50:22 +03:00
Mikhail Zarechenskiy
111e54c8c1
Do not generate DefaultImpls for light classes if not needed
...
#KT-41130 In Progress
2021-03-18 16:38:52 +03:00
Dmitry Petrov
ac6232b4ba
JVM_IR KT-36853 patch parents after tailrecPhase
2021-03-18 15:19:24 +03:00
Alexander Udalov
27174de891
Add JVM target bytecode version 16
...
#KT-45515 Fixed
2021-03-17 21:31:08 +01:00
Dmitry Petrov
7fabc19326
JVM_IR KT-45446 don't erase captured var if it's dead code
2021-03-17 15:37:35 +03:00
Jinseong Jeon
93289aa899
FIR checker: report VAL_REASSIGNMENT_VIA_BACKING_FIELD(_ERROR)
2021-03-17 15:04:44 +03:00
Tianyu Geng
94de193993
FIR: introduce VALUE_PARAMETER_WITH_NO_TYPE_ANNOTATION check
...
Besides adding VALUE_PARAMETER_WITH_NO_TYPE_ANNOTATION,
we remove here NO_TYPE_FOR_TYPE_PARAMETER since it doesn't exist in FE1.0.
The name also doesn't make much sense.
From the usage it looks like it should have been
VALUE_PARAMETER_WITH_NO_TYPE_ANNOTATION instead.
2021-03-17 15:04:43 +03:00
Mark Punzalan
315047b164
FIR checker: Make FirJvmExternalDeclarationChecker a
...
FirMemberDeclarationChecker.
Set isExternal in status for FirRegularClass. Invoke member declaration
checkers for FirRegularClass.
2021-03-17 10:45:26 +01:00
Mark Punzalan
c3d2ce0c1f
FIR checker/IDE: Add checker and quickfix for WRONG_MODIFIER_TARGET.
...
There are only simple checks for `external` and `const` for now. The
rest of the checks (see ModifiersChecker in FE1.0) will be added later.
2021-03-17 10:45:26 +01:00
Mikhail Glukhikh
ebfc431733
FIR body resolve context: fix accessor scope handling
2021-03-17 12:13:23 +03:00
Ilmir Usmanov
a90a5f6dd4
Check for backend when checking for suspend in fun interfaces
2021-03-16 22:37:44 +01:00
Steven Schäfer
99a4779c6b
JVM IR: Don't produce line numbers in synthetic Enum members
2021-03-16 21:30:18 +01:00
Steven Schäfer
bea1a8c422
JVM IR: Use Object.clone in Enum.values
2021-03-16 21:30:18 +01:00
Ilmir Usmanov
e47715f52b
Minor. Add tests with returning inline class from SAM adapter
2021-03-16 20:57:05 +01:00
Jinseong Jeon
4c08d10cce
FIR checker: report expression of nullable type parameter as LHS of class literals
2021-03-16 21:56:10 +03:00
Jinseong Jeon
7fff4108b6
FIR checker: report KClass with incorrect type argument
2021-03-16 21:56:10 +03:00
Jinseong Jeon
bc2228d434
FIR checker: don't report errors on type parameter as LHS of class literals
...
If a type paramter is not reified or nullable, different errors will
be reported by FirGetClassCallChecker.
When determining whether type parameter wrapped in qualified access is a
standalone expression or not, we examine whether the checker context has
other qualified accesses in stack. Class literals (::class) is desugared
to FirGetClassCall, and thus not stacked as qualified access. Since
class literals are a special type of callable reference (a subtype of
qualified access), we should keep track of FirGetClassCall in a similar
way.
2021-03-16 21:56:09 +03:00
Jinseong Jeon
e29b40b07f
FIR checker: report TYPE_PARAMETER_AS_REIFIED
2021-03-16 21:56:09 +03:00
Jinseong Jeon
5ba5b63dee
FIR checker: report nullable expression as LHS of class literals
2021-03-16 21:56:09 +03:00
Jinseong Jeon
33c5b49632
FIR checker: report non-typed LHS of callable references
2021-03-16 21:56:08 +03:00
scaventz
329be4f906
Add a test to for the situation where pathname of destination does not name a parent.
2021-03-16 18:44:12 +01:00
Georgy Bronnikov
3a10ea4f88
JVM_IR: synchronize code generation for inline functions
2021-03-16 19:49:29 +03:00
Dmitry Petrov
decfaa3ba5
JVM_IR KT-44993 preserve inner expression type when fusing if-null
2021-03-16 15:30:45 +03:00
Jinseong Jeon
922419efb8
FIR CFG: route to exit of try main for throw in try main
...
to make the remaining part of try main marked as dead.
^KT-45475 Fixed
2021-03-16 15:11:56 +03:00
Jinseong Jeon
7e5b562b33
Reproduce KT-45475: no smartcast after conditional throw in try expression
2021-03-16 15:11:53 +03:00