Mikhail Glukhikh
4f1caf24a1
[FIR2IR] Minor: eliminate warning about list under the hood
2020-04-13 17:30:05 +03:00
Mikhail Glukhikh
6827280521
[FIR2IR] Reuse declareThisReceiverParameter in DataClassMembersGenerator
2020-04-13 17:30:05 +03:00
Jinseong Jeon
c370b86141
IR: consolidate generation of synthetic members for data class
2020-04-13 17:30:05 +03:00
Mikhail Glukhikh
1500131eb0
[FIR2IR] Re-use applyCallArguments for IrDelegatedConstructorCall
2020-04-13 17:09:05 +03:00
Mikhail Glukhikh
1ba160b3de
[FIR] Apply argument mapping to delegated constructor calls
2020-04-13 17:09:04 +03:00
Mikhail Glukhikh
734ddc0369
[FIR] Rename: selectCandidateFrom... -> selectDelegatingConstructorCall
2020-04-13 17:09:04 +03:00
Juan Chen
e954aea4cc
[FIR2IR] Support argument reordering of constructor calls
2020-04-13 17:09:04 +03:00
Juan Chen
bae41ddf6d
[FIR2IR] Introduce IrBlock for reordering arguments if needed
2020-04-13 17:09:03 +03:00
Ilya Chernikov
acc5633811
[NI] Fix inference of lambda with receiver when wrapped...
...
in when/if or another lambda.
#KT-37419 fixed
2020-04-13 14:50:49 +02:00
Georgy Bronnikov
9ccda31189
IR: deal with conflicting variances in computeSubstitutedSyntheticAccessor
2020-04-13 14:34:57 +03:00
Georgy Bronnikov
5700da2bae
IR: type parameter context for return values in InsertImplicitCasts
2020-04-13 14:34:57 +03:00
Georgy Bronnikov
166b506f63
IR: only require all type parameter references to be local with new inference
2020-04-13 14:34:57 +03:00
Mikhail Glukhikh
e1c78b31a6
[FIR2IR] Convert explicit receiver in advance
2020-04-10 14:49:27 +03:00
Dmitry Petrov
f42d9eefa1
KT-30330 Support KotlinNothingValueException in JVM
2020-04-10 08:47:03 +03:00
Mikhail Glukhikh
cd5a4900e6
[FIR] Support dispatch & extension receiver in component calls
2020-04-09 15:22:56 +03:00
Mikhail Glukhikh
a93c7a39e0
[FIR] Provide object [dispatch] && callable reference receivers properly
2020-04-09 15:22:56 +03:00
Mikhail Glukhikh
00fedbf6b3
[FIR2IR] Distinguish 'parent' & 'thisReceiver' for fake overrides
2020-04-09 15:22:56 +03:00
Mikhail Glukhikh
4543367c37
[FIR] Add type parameter mapping for substituted properties
2020-04-09 15:22:56 +03:00
Mikhail Glukhikh
fcdbffde3f
[FIR2IR] Support Java synthetic properties
2020-04-09 15:22:56 +03:00
Mikhail Glukhikh
8e3d22a104
[FIR2IR] Enable receiver existence assertion
2020-04-09 15:22:55 +03:00
Mikhail Glukhikh
14731527ed
[FIR] Don't store class functions in local scope
2020-04-09 15:22:55 +03:00
Mikhail Glukhikh
ac7d43f06e
[FIR2IR] Don't generate fake overrides with error types
2020-04-09 15:22:55 +03:00
Mikhail Glukhikh
932b03beb2
[FIR2IR] Don't generate fake overrides for another package privates
2020-04-09 15:22:55 +03:00
Mikhail Glukhikh
5c758af0a6
[FIR] Use ScopeSession from resolve transformer in FIR2IR
2020-04-09 15:22:55 +03:00
Ilmir Usmanov
f775ac8825
Move legacy assert tests to launcher
...
since they are broken on JDK 11: they change Field.modifiers, which is prohibited
since JDK 9, because this private field is not exported.
Thus, we need to split the test into two: one with assertions enabled and the other
one with them disabled. Also, we need to run them in separate processes, for them
not to interfere each other.
#KT-27176 Fixed
2020-04-09 14:10:31 +02:00
Alexander Udalov
7652117e3d
Minor, ignore test on adapted function references for Android
2020-04-09 12:50:21 +02:00
Alexander Udalov
683489687e
Fix NPE in KCallable.isAccessible for interfaces loaded by boot class loader
...
Class.getClassLoader returns null for classes loaded by the system class
loader (the one used to start the application). In this case we need to
use ClassLoader.getSystemClassLoader. We already have an extension
`safeClassLoader` specifically for this purpose in reflection.jvm, but
forgot to use it in d59f2bcc80 .
#KT-37707 Fixed
2020-04-09 12:35:28 +02:00
Mikhail Zarechenskiy
a7b959b88b
Fix delegated property resolve with intermediate ID provideDelegate
...
#KT-37406 Fixed
2020-04-09 13:34:29 +03:00
Mikhail Bogdanov
b787c8c011
Support jvm default methods in IR
...
Fix several bugs around DefaultImpls
2020-04-09 07:37:32 +02:00
Mikhail Bogdanov
a3f930d2e4
Support bridges in interfaces for default methods
2020-04-09 07:37:32 +02:00
Mikhail Bogdanov
93b915c77a
Support accessors for private methods for default methods
2020-04-09 07:37:31 +02:00
Mikhael Bogdanov
0c0bd67a6b
Add new tests
2020-04-09 07:37:30 +02:00
Alexander Udalov
9f758b4f25
Support toString for AdaptedFunctionReference subclasses
...
Also make it serializable like other lambdas, suspend lambdas and normal
callable references.
2020-04-08 19:16:38 +02:00
Alexander Udalov
fa879e667f
Add some tests on adapted references with varargs and reflection
...
Also rename "varargAndDefaults" test directory to "adaptedReferences"
2020-04-08 19:15:40 +02:00
Dmitry Petrov
d1c5a42124
KT-36024 Generate adapted callable references as lambdas
...
Make sure both JVM and JVM_IR use the same information to determine
whether a callable reference requires argument adaptation.
2020-04-08 19:02:33 +02:00
Dmitry Petrov
ddf7f53118
Add more tests on inline class boxing in covariant overrides
2020-04-08 19:56:26 +03:00
Dmitry Petrov
9615b20e5d
Box inline class return value in lambdas (including suspend lambdas)
2020-04-08 19:56:26 +03:00
simon.ogorodnik
f573719cc1
[FIR] Fix missing receiver type if anonymous function without label
2020-04-08 14:56:17 +03:00
simon.ogorodnik
d2fd377605
[FIR] Add rendering of delegating constructor calls to html dump
2020-04-08 14:56:16 +03:00
Dmitry Petrov
0c21d63290
Box inline class return value in covariant override of suspend fun
2020-04-08 10:50:58 +03:00
Dmitriy Novozhilov
8a2b39d647
[FIR] Add checking receivers of callable references
2020-04-08 10:38:45 +03:00
Igor Chevdar
b54148a6f1
Added a test on lateinit var inside a local class
2020-04-08 10:33:14 +03:00
pyos
82899e6243
JVM_IR: reuse MethodNodes for inline functions in same module
...
This fixes the weird cases when a class gets overwritten by an imperfect
copy, reduces the number of classes in the output if an inline function
contains an inline call that causes it to have regenerated anonymous
objects, and makes inlining of same module functions a bit faster in
general. On the other hand, this may increase memory footprint a bit
because classes cannot be flushed to the output jar, as the inliner
would not be able to locate classes for anonymous objects if they have
already been unloaded from memory.
2020-04-08 07:04:16 +02:00
Mikhail Zarechenskiy
86fd4da567
[UAST] Fix mapping types containing type aliases
...
#KT-27935 Fixed
2020-04-08 01:25:14 +03:00
Kevin Bierhoff
7448761dfd
only stub default constructor when compiling against .java source files
2020-04-07 17:48:39 +02:00
Denis Zharkov
c83860187c
FIR: Add abstract equals/hashCode to ConeKotlinType
...
Otherwise they are incosistent when being added to sets of constraints
during type inference
2020-04-07 17:54:55 +03:00
Denis Zharkov
65e90743df
FIR: Fix hanging inference case with intersection types
2020-04-07 17:54:55 +03:00
Denis Zharkov
81d9cf76f2
FIR: Add java.io.Serializable as supertypes to built-in classes
2020-04-07 17:54:55 +03:00
Denis Zharkov
168c7f306f
FIR: Fix ambiguity for invoke candidates on qualifier receiver
2020-04-07 17:54:55 +03:00
Denis Zharkov
4cd93a9fec
FIR: Add test for discrepancy in call resolution for qualifiers with old FE
...
^KT-38031 Open
2020-04-07 17:54:55 +03:00