Mark Punzalan
2cfd776092
ForLoopsLowering: Assume step == 1 for *Range (e.g., IntRange) and
...
handle accordingly (e.g., do not read `step` property).
2020-07-29 20:44:51 +02:00
Dmitry Petrov
dae358c792
JVM: KT-40664 disable optimization for 'ULong in range of UInt' case
2020-07-29 20:33:17 +03:00
Dmitry Petrov
f2493d0950
JVM: KT-40665 more exact check for intrinsified range 'contains'
2020-07-29 20:33:17 +03:00
Ilmir Usmanov
4fb5f8603a
Keep $continuation in LVT
...
in case of suspend functions and `this` is case of lambdas, since they
are used in async stack trace generation.
Update tests.
#KT-40661 Open
2020-07-29 00:01:12 +02:00
Ilmir Usmanov
70e91bd5db
Shrink and split LVT records of variables according to their liveness
...
Otherwise, debugger will show uninitialized values of dead variables
after resume.
#KT-16222
#KT-28016 Fixed
#KT-20571 Fixed
2020-07-29 00:01:10 +02:00
Ilmir Usmanov
60875f96b4
Do not take LVT into account when calculating liveness of variables
2020-07-29 00:01:09 +02:00
Dmitry Petrov
980b91d082
JVM: generate 'Deprecated' on method as runtime-visible annotation
...
We generate @java.lang.Deprecated annotation on methods of $DefaultImpls
classes in compatibility mode. This annotation has RUNTIME retention and
should be visible.
Also, get rid of representing annotations as Class'es (yes we know that
these annotations are in compiler CLASSPATH, but we should not rely on
such classes and associated information).
2020-07-28 18:19:20 +03:00
Dmitry Petrov
4fdccb3b35
JVM_IR: don't generate repeated ElementType values in @Target
2020-07-28 18:19:20 +03:00
Jinseong Jeon
da6e96f4f1
FIR2IR: don't declare dispatch receiver for local functions
2020-07-28 13:43:10 +03:00
Jinseong Jeon
5a3367e09c
FIR: initial support of suspend conversion for function reference
2020-07-28 13:37:05 +03:00
Alexander Udalov
b9243aad24
Minor, fix test data in bytecodeListing/specialBridges
2020-07-28 12:12:39 +02:00
Dmitry Petrov
43fcb2330e
JVM_IR: fix source file name for mutlifile class facades
2020-07-27 19:13:37 +03:00
Dmitry Petrov
89a0b3e944
Check class source in bytecode listing tests
2020-07-27 19:13:37 +03:00
Steven Schäfer
9d63412b3e
JVM IR: Produce correct generic signatures for special bridge methods
2020-07-27 17:02:24 +02:00
Zalim Bashorov
635869f15a
Rewrite className helper to fix tests on android
...
Since android tests preprocess test data and
(at least) replace package for files and fix package usages
it's preferred to use fqnames explicitly
instead of assembly them from parts, as it was before.
2020-07-25 15:28:36 +03:00
Dmitry Petrov
e2a4ca10d6
JVM_IR: fix inner class attributes for private class in interface
2020-07-23 19:13:28 +03:00
Dmitry Petrov
0741781462
Compare inner class access flags in bytecode listing tests
2020-07-23 19:13:28 +03:00
Jinseong Jeon
7872b21914
FIR: handle object invoke via type alias
2020-07-23 09:34:42 +03:00
Mark Punzalan
174576af61
ForLoopsLowering: Handle Sequence<*>.withIndex().
2020-07-22 22:32:29 +02:00
Mark Punzalan
b1ce21bc55
ForLoopsLowering: Reduce unnecessary temporary variables for the
...
"checked step" (check for a positive step arg) and "negated step"
(negate the step arg when the nested step is negative).
2020-07-22 22:32:29 +02:00
Dmitry Petrov
1272162a7f
JVM_IR: generate "safe" names for functions in init blocks
2020-07-22 19:49:48 +03:00
Jinseong Jeon
e1abaa9b51
FIR: special visibility handling for monitor{Enter|Exit}
2020-07-22 12:16:32 +03:00
Dmitry Petrov
d93885e71c
Add tests for deprecated properties
2020-07-21 22:25:44 +03:00
Dmitry Petrov
e84339a0d3
JVM_IR: fields for deprecated enum entries have ACC_DEPRECATED flag
...
'Deprecated' annotation can't be applied to field itself.
2020-07-21 22:25:44 +03:00
Pavel Punegov
eecb43d4c9
Ignore test in Native backend
2020-07-21 11:26:57 +03:00
Steven Schäfer
d62a6a2631
JVM IR: Do not create accessors for enum entry constructors
2020-07-20 22:37:49 +02:00
Dmitry Petrov
2e31f95554
Update testData
2020-07-20 20:04:32 +03:00
Dmitriy Novozhilov
236dfe60f1
[FIR] Correctly build scopes for resolve of different parts of constructors
...
#KT-40409 Fixed
2020-07-20 14:38:17 +03:00
Dmitriy Novozhilov
1ce4eca3a6
[FIR] Infer type arguments for captured parameters of inner classes
...
KT-38992
2020-07-20 14:38:16 +03:00
Denis Zharkov
cd896ae6c8
FIR: Implement FE 1.0 semantics for super unqualified calls
...
See original logic at org.jetbrains.kotlin.types.expressions.unqualifiedSuper.UnqualifiedSuperKt#resolveUnqualifiedSuperFromExpressionContext
^KT-39070 Fixed
^KT-39599 Related
2020-07-20 12:24:51 +03:00
Jinseong Jeon
628b8b56b7
FIR2IR: convert annotations on type aliases
2020-07-20 09:40:52 +03:00
Jinseong Jeon
4e14f9500f
FIR: account for vararg when creating KFunction type for callable reference
2020-07-20 09:39:34 +03:00
Mikhail Zarechenskiy
fcf7a55ccc
Fix delegated property resolve on number literals and proper types
...
There is no need to update type of delegate expression if it's already
resolved correctly (doesn't include non-proper types). In almost all
cases it was fine except number literals as there we didn't box
expression in backend and got problems at bytecode verification stage
#KT-40057 Fixed
2020-07-17 14:27:20 +03:00
Jinseong Jeon
13ef97e51e
FIR2IR: set proper visibility of backing fields with @JvmField
2020-07-17 12:42:11 +03:00
Jinseong Jeon
f3475fd098
FIR2IR: store and convert annotations on enum entry
2020-07-17 09:48:45 +03:00
Igor Chevdar
3c4f0d3c9e
[box-tests] Added test
2020-07-16 19:23:03 +05:00
Jinseong Jeon
50f1f8f0eb
FIR: consider more functional types during SAM resolution
2020-07-16 12:56:18 +03:00
Mikhail Zarechenskiy
100a6f70ca
Relax rules about inferring to Nothing for special calls
...
#KT-37388 Fixed
#KT-38427 Fixed
#KT-39953 Fixed
#KT-38899 Fixed
2020-07-16 09:56:46 +03:00
Roman Artemev
cd9f59325e
[KLIB] Fix deserialization of anonymous classes
...
In case of initializing property or function with anonymous object the
object is being exposed outside its field/function's scope and
accessible on previous level. In this case in `declarations only` mode
we have unbound symbols. Fix is to force body/initializer loading in
such cases.
Make sure it is deserialized in `declarations'only` mode too.
- Fix KT-40216
- Add test
2020-07-15 18:23:29 +03:00
Jinseong Jeon
30b91b128a
FIR: adjust type of integer operator call as property initializer
2020-07-15 13:56:40 +03:00
Jinseong Jeon
5c4f978073
FIR: transform arrayOf call with empty arguments
2020-07-15 13:36:30 +03:00
Jinseong Jeon
db9d42c153
IrConstTransformer: handle vararg with spread elements properly
2020-07-15 13:36:30 +03:00
Jinseong Jeon
5600eefea5
FIR: add support for varargs in annotation calls
2020-07-15 13:36:30 +03:00
Jinseong Jeon
1a861b2df9
FIR2IR: don't create synthetic class for enum entry w/o members
2020-07-15 13:36:30 +03:00
Juan Chen
2ea3579281
[FIR] add support for generic cases of delegation by implementation
...
Add type parameters for generic delegated members and type
substitution when implementing instantiated super interfaces.
2020-07-15 13:36:29 +03:00
Mikhail Glukhikh
c46fac3464
FirTypeIntersectionScope: support inherited default parameters
2020-07-15 13:36:28 +03:00
Mikhail Glukhikh
1bbed6c4ed
[FIR2IR] Use FIR-specific methods to search for overridden functions
2020-07-15 13:36:28 +03:00
Zalim Bashorov
340512e27a
[KJS] Throw exception on recursive types provided to typeOf and provide proper support later within KT-40173
...
#KT-38140 fixed
2020-07-14 14:14:13 +03:00
Zalim Bashorov
ca37c6bfe6
[KJS FE] Allow using typeOf with non-reified type parameters
...
#KT-38771 fixed
2020-07-14 14:14:11 +03:00
Kristoffer Andersen
8d79a6ae03
[JVM IR] Copy inline class constructor annotations
2020-07-13 11:50:34 +03:00