Commit Graph

2305 Commits

Author SHA1 Message Date
simon.ogorodnik 21ede8b745 [FIR] Add test for inner class type parameter capturing 2020-04-13 20:26:17 +03:00
simon.ogorodnik b72d0957e4 [FIR] Support captured type arguments of anonymous objects in resolve 2020-04-13 20:26:17 +03:00
simon.ogorodnik 2b114dd2b4 [FIR] Fix fake overrides callable id 2020-04-13 20:26:17 +03:00
simon.ogorodnik c2ea0676e4 [FIR] Split functions & constructors processing 2020-04-13 20:26:17 +03:00
simon.ogorodnik 7a1ecabe0a [FIR2IR] Use deepest matching symbol on fake override calls 2020-04-13 20:26:16 +03:00
simon.ogorodnik d55c6550bb [FIR] Add substitution to classifiers processing 2020-04-13 20:26:16 +03:00
simon.ogorodnik cd4a7a25c3 [FIR] Match ordering of type arguments with type parameters 2020-04-13 20:26:16 +03:00
simon.ogorodnik 27537f71df [FIR] Use constructed class type parameters refs in java symbol provider 2020-04-13 20:26:16 +03:00
simon.ogorodnik 1d249ad279 [FIR] Use constructed class type parameters refs in deserialization 2020-04-13 20:26:16 +03:00
simon.ogorodnik ec39cd3d31 [FIR] Use captured, constructed class type parameters in RawFirBuilder 2020-04-13 20:26:16 +03:00
simon.ogorodnik f174893009 [FIR] Add kotlinx-collections-immutable to raw fir builders 2020-04-13 20:26:15 +03:00
simon.ogorodnik 49d361b6eb [FIR] Improve type-parameter rendering in html dump 2020-04-13 20:26:15 +03:00
simon.ogorodnik cb00a4c136 [FIR] Update type parameter use-sites to use type parameter refs 2020-04-13 20:26:15 +03:00
simon.ogorodnik 7c56209cef [FIR] Introduce type parameter ref in generated tree 2020-04-13 20:26:15 +03:00
Mikhail Glukhikh b6cf08d097 [FIR2IR] Extract createIrSyntheticFunction/Parameter from data class gen 2020-04-13 17:30:06 +03:00
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