Steven Schäfer
f40f9611c3
JVM IR: Fix spread operator on unsigned array type
2019-09-20 18:17:31 +02:00
Alexander Udalov
a7b984bcbf
JVM IR: fix generation of generic multi-file delegates
2019-09-19 22:23:16 +02:00
Alexander Udalov
acbe5c4e21
JVM IR: fix IOOBE from remapTypeParameters for synthetic property annotations method
2019-09-19 22:23:16 +02:00
Ilmir Usmanov
f1d31c8221
JVM_IR: Minor. Unmute tests
...
Rename FAKE_CONTINUATION -> fakeContinuation
2019-09-19 19:28:11 +03:00
Ilmir Usmanov
06d0e8a521
JVM_IR: Support suspend functions with extension receivers
2019-09-19 19:28:10 +03:00
Ilmir Usmanov
2bfd17d8fb
JVM_IR: Minor. Unmute test.
2019-09-19 19:28:08 +03:00
Ilmir Usmanov
63f6d515bc
JVM_IR: Generate correct invoke of numbered suspend lambda
...
Instead of continuation type as last parameter's type, generate Object
type.
2019-09-19 19:28:05 +03:00
Ilmir Usmanov
587fcafc85
JVM_IR: Support continuation crossing inline lambda boundaries
...
I.E. generate fake continuation markers.
2019-09-19 19:28:03 +03:00
Steven Schäfer
ce3ef4e4d0
Add more tests for inline class equality with nullable arguments
2019-09-18 18:52:58 +02:00
Steven Schäfer
d8646e29b7
Add additional Result api test
2019-09-18 18:52:58 +02:00
Steven Schäfer
b85b2d9af8
Add more tests for inline class equality
2019-09-18 18:52:58 +02:00
Steven Schäfer
cdc5e1347b
JVM: Avoid boxing in inline class equality
2019-09-18 18:52:58 +02:00
Steven Schäfer
f53b28e8a3
JVM: Generate equals-impl0 method for inline classes
2019-09-18 18:52:58 +02:00
Steven Schäfer
2c7da67600
JVM IR: Avoid boxing in inline class equality
2019-09-18 18:52:58 +02:00
Steven Schäfer
b85a475358
JVM IR: Generate equals-impl0 method for inline classes
2019-09-18 18:52:58 +02:00
Steven Schäfer
cdd3f82396
JVM IR: Use correct scope owner in JvmInlineClassLowering
2019-09-18 18:52:58 +02:00
Alexander Udalov
aa77f6c245
Improve KParameter.toString for instance and extension receiver parameter
...
#KT-17860 Fixed
2019-09-18 14:05:43 +02:00
Alexander Udalov
c69997491f
JVM IR: generate file annotations on file facade classes
2019-09-18 14:05:28 +02:00
Dmitry Petrov
0531bd4fe6
KT-29229 Intrinsify 'in' operator for unsigned integer ranges
...
Support mixed type case, e.g., '[UByte] in [UIntRange]'.
2019-09-17 15:50:47 +03:00
Ilmir Usmanov
1951ff8054
JVM_IR: Minor. Unmute tests
2019-09-16 16:49:24 +03:00
Ilmir Usmanov
a3284326af
JVM_IR: Do not box/unbox result in continuations
...
Otherwise, it leads to CCE from kotlin/Result.
2019-09-16 16:49:22 +03:00
Ilmir Usmanov
402a77126f
JVM_IR: Support inline suspend functions
...
Only no state-machine version for now.
2019-09-16 16:49:21 +03:00
Ilmir Usmanov
2ec3417e0e
JVM_IR: Move suspend functions into view transformation to codegen phase
...
Support suspend functions with default arguments.
2019-09-16 16:49:18 +03:00
Alexander Udalov
9d257a1ed8
JVM IR: generate call to checkNotNull in IrCheckNotNull since 1.4
...
#KT-22275
2019-09-16 12:33:01 +02:00
Dmitry Petrov
f3837e91e3
Add BE tests for 'break' and 'continue' inside 'when'
2019-09-12 15:11:01 +03:00
Roman Artemev
e5a1040dbd
[KLIB] Fix references to private top-level typealias via type abbreviation
2019-09-10 19:59:01 +03:00
Kristoffer Andersen
e7d0909979
JVM_IR: Fix null-constant comparison with primitive types.
2019-09-09 10:23:11 +02:00
Mikhail Zarechenskiy
e21da3a61a
Avoid resolving array-set method several times
...
While origin problem was in NI, it's also nice to have this change in OI
in order to slightly improve performance
#KT-33125 Fixed
2019-09-09 11:04:18 +03:00
Mikhail Zarechenskiy
f8449bf15a
[NI] Clear partially resolved calls after resolve of top-level call
...
#KT-32433 Fixed
2019-09-09 11:04:17 +03:00
Steven Schäfer
62a1ea643a
Add additional tests for bound receivers in callable references
2019-09-06 15:11:59 +02:00
Steven Schäfer
d89d68e3df
JVM IR: Cache SAM wrappers in top-level classes and use proper naming scheme
2019-09-06 15:11:59 +02:00
Steven Schäfer
c77fa1ecd6
JVM IR: Fixes in SAM lowering
2019-09-06 15:11:59 +02:00
Steven Schäfer
102a3d60e0
IR: Consistently copyAttributes in DeepCopyIrTreeWithSymbols
...
This was missing for IrFunctionReferences, which caused problems when
copying default parameters before CallableReferenceLowering in the
JVM_IR backend.
2019-09-02 19:55:36 +02:00
Mads Ager
6c7a904663
Psi2Ir: Mark accessors with no bodies as default accessors.
...
They are currently marked as defined even when they get a
default implementation. That makes it hard to figure out
if the accessor should be removed when introducing a backing
field in the JVM_IR backend.
2019-08-28 19:25:13 +02:00
Alexander Udalov
aea9642ea0
JVM IR: implement MethodSignatureMapper.mapToCallableMethod directly
...
Instead of calling enormously complicated
KotlinTypeMapper.mapToCallableMethod, where most of special cases are
handled in the IR backend via lowerings.
2019-08-27 19:27:46 +02:00
Steven Schäfer
6bf16a96e1
Add more tests for type operators on the jvm
2019-08-27 10:44:23 +02:00
Ilmir Usmanov
ef5fcb4e9e
Fix test data
2019-08-23 19:09:28 +03:00
Alexander Udalov
d59f2bcc80
Fix KotlinReflectionInternalError on invoking callBy with defaults in supertypes
...
There are two parts in this change:
1) Previously, we looked up $default methods with the incorrect
signature in supertypes. For example in defaultInSuperClass.kt, we'd
try to find a method foo$default with the signature `(B, String,
String, int, Object)` in the class A. Now we're modifying the array
of parameter types on each step if we're looking for a static
$default method, by assigning its first element to be the containing
class. This fixes cases when defaults come from a superclass.
2) For interfaces, $default methods are actually located in the
corresponding DefaultImpls class. Now we look up that class and
search for the $default method there. Note that this is needed
because of KT-33430. This fixes cases when defaults come from a
superinterface.
#KT-13936 Fixed
2019-08-22 18:04:00 +02:00
Alexander Udalov
cb2e68fece
JVM IR: skip temporary variables in InventNamesForLocalClasses
2019-08-22 18:04:00 +02:00
Ilmir Usmanov
f9506db20a
Ignore sources which are not LOADs in refinedIntTypeAnalysis
...
#KT-33414 Fixed
2019-08-22 16:08:08 +03:00
Alexander Udalov
f64afbf152
JVM IR: reduce usages of IrTypeMapper.kotlinTypeMapper
2019-08-21 15:13:49 +02:00
Igor Chevdar
8d2ccb7bcd
[IR] Taught inliner to work with inline suspend lambdas
2019-08-20 12:52:54 +03:00
Alexander Udalov
ad43bc23ea
Minor, add test case on SAM conversion over smart cast
2019-08-19 18:09:32 +02:00
Igor Chevdar
ad8bcda99e
[IR] Merged K/N inliner with the common one
2019-08-16 18:32:19 +03:00
Mikhail Zarechenskiy
d59b910403
Add tests for obsolete issues
...
#KT-32207 Obsolete
#KT-32836 Obsolete
#KT-32949 Obsolete
#KT-9384 Obsolete
2019-08-15 13:01:39 +03:00
Steven Schäfer
ac667403ef
(Un)mute and add tests for vararg codegen
2019-08-13 14:24:55 +02:00
Alexander Udalov
01ddac58e1
Add language feature for changed name of property annotations method
...
#KT-31352 Fixed
2019-08-12 16:48:26 +02:00
Alexander Udalov
ea0142da60
Use JVM name of getter in synthetic method for property annotations
...
#KT-31352 In Progress
2019-08-12 16:48:25 +02:00
Alexander Udalov
e207c96336
Throw NPE instead of TypeCastException since 1.4
...
#KT-22275 In Progress
2019-08-12 16:09:23 +02:00
Alexander Udalov
2baddb029c
Use Intrinsics.checkNotNullParameter to throw NPE in parameter null checks
...
Similarly to previous commits, this method was unused, so we're changing
its semantics in API version >= 1.4.
#KT-22275 In Progress
2019-08-12 16:09:23 +02:00