simon.ogorodnik
132c8ee210
[FIR] Apply GOOD testData changes after type parameters support
2020-04-13 20:26:18 +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
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
Georgy Bronnikov
9ccda31189
IR: deal with conflicting variances in computeSubstitutedSyntheticAccessor
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
Alexander Udalov
e533545c29
Minor, ignore codegen test for JDK 6
2020-04-09 16:50:13 +02:00
Mikhail Glukhikh
c597e3e87f
Unmute additional FIR black box tests after rebasing
2020-04-09 15:22:57 +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
14731527ed
[FIR] Don't store class functions in local scope
2020-04-09 15:22:55 +03:00
Mikhail Glukhikh
19d0d42b9e
Mute three failing FIR black box tests
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
6e1af0caee
Minor. Update test data
2020-04-09 07:49:30 +02: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
Alexander Udalov
0681231e99
Introduce AdaptedFunctionReference runtime class
...
It's used as a superclass for anonymous classes for adapted function
references. Its main feature is that it _doesn't_ inherit from KFunction
(as opposed to FunctionReference), as per the decision to postpone
reflection support for adapted function references in KT-36024.
#KT-36024 Fixed
2020-04-08 19:15:38 +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
Anton Bannykh
998218716d
IR: make lateinit lowering traverse local classes
2020-04-08 14:44:25 +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
Alexander Gorshenev
97be5617ca
Renamed -Xklib-mpp to -Xexpect-actual-linker to reduce user confusion
2020-04-08 05:23:12 +03:00
Denis Zharkov
81d9cf76f2
FIR: Add java.io.Serializable as supertypes to built-in classes
2020-04-07 17:54:55 +03:00
pyos
c650c9570f
JVM: use conditional suspension point markers
2020-04-07 15:42:41 +02:00
simon.ogorodnik
bd826f38bc
[FIR] Fix specificity comparision for unsigned integers
2020-04-07 16:24:58 +03:00
Dmitry Petrov
dae8872aba
KT-37779 Treat named value arguments in vararg as arguments with '*'
2020-04-07 15:40:43 +03:00
Jinseong Jeon
fa9d79392f
[FIR] Handle lateinit local variable properly
2020-04-07 14:06:38 +03:00
Juan Chen
882e6931d6
[FIR] Add backing fields to const properties during Fir2Ir translation
2020-04-06 16:41:57 +03:00
Jinseong Jeon
08ca6f5f99
[FIR2IR] Set @Metadata when declaring IR symbols
2020-04-06 16:41:57 +03:00
Dmitry Petrov
d5ace43614
KT-37986 Force boxing of inline class returned from function reference
...
KT-37998 Provide KotlinType for safe call
2020-04-04 01:32:45 +03:00
pyos
5ed845d0b4
JVM_IR: reuse same bodies for suspend funs and $$forInline versions
2020-04-03 19:51:45 +02:00
Dmitry Petrov
a422a12407
Minor: update testData
...
In BridgeTest::testFakeOverrideMisleadingImplementation,
order of generated bridges has changed slightly
(but the overall set of generated bridges remains the same).
2020-04-03 18:31:39 +03:00
Mikhail Glukhikh
d7460d47de
[FIR] Generate dispatch & extension receivers for variable assignments
2020-04-03 17:21:21 +03:00
Alexander Udalov
774fc32f3e
JVM IR: support optimized callable reference superclasses
...
See KT-27362.
#KT-37334 Fixed
2020-04-03 15:37:56 +02:00
Alexander Udalov
bb1a12e28e
JVM IR: use correct owner for callable references in optimized multifile classes
...
The owner should always be the facade class, because the part class is
package-private and will be inaccessible from other package.
Note that in the old backend, function references already do have the
facade as the owner correctly, but property references don't, this is
reported as KT-37972.
2020-04-03 15:37:56 +02:00
Mikhail Glukhikh
f374c36cd2
[FIR2IR] Generate property extension receiver references properly
2020-04-03 13:31:15 +03:00