Jinseong Jeon
c370b86141
IR: consolidate generation of synthetic members for data class
2020-04-13 17:30:05 +03:00
Georgy Bronnikov
9ccda31189
IR: deal with conflicting variances in computeSubstitutedSyntheticAccessor
2020-04-13 14:34:57 +03:00
Mikhail Glukhikh
3d17ce05b5
[FIR] Introduce FirResolvedArgumentList with argument-parameter mapping
...
#KT-36345 Fixed
2020-03-11 22:08:59 +03:00
Mikhail Glukhikh
2308e5bb7c
FIR2IR: in case of use-site generic type use call from original class
2020-02-28 15:29:02 +03:00
Mikhail Glukhikh
d1fac6dce1
FIR2IR: declare receivers for all accessors of extension properties
...
Before this commit, extension receivers were declared only for
properties with container source, which is strange & inconsistent.
Now we declare accessor extension receiver iff corresponding property
has extension receiver.
2020-02-25 12:13:42 +03:00
Mikhail Glukhikh
8c21f04bf4
FIR2IR: determine type parameters before value parameters
...
Type parameters can be referred from value parameters,
so we should determine them earlier to be able to set their indexes
2020-02-20 18:34:51 +03:00
Mikhail Zarechenskiy
abc5eb4740
[NI-MIGRATE-BAD] Update problematic/questionable tests
...
These tests are going to be reviewed in more detail before 1.4
2020-02-13 11:15:59 +03:00
Mikhail Glukhikh
f3f88cae7a
FIR: unmute accidentally muted black-box test
2020-02-12 16:30:47 +03:00
Dmitriy Novozhilov
6735cc8937
[FIR] Implement new bound smartcast algorithm
...
#KT-36055 Fixed
2020-02-12 10:17:45 +03:00
Juan Chen
7249d2f889
[FIR] Fix translation of invokes & add return expressions for lambdas
...
* fixed NoSuchMethod caused by mismatched signatures of the "invoke" method generated for lambda arguments
* added test cases in invoke.kt for KFunction and anonymous functions
* added a transformer to wrap the last expression in the bodies of lambdas with return
2020-02-06 12:44:14 +03:00
Mikhail Glukhikh
71b0840ef9
[FIR] Implement super resolve as a particular tower resolver case
2020-02-05 11:19:19 +03:00
Steven Schäfer
cf3e4608f3
JVM IR: Support -Xno-call-assertions
2020-01-30 14:43:23 +03:00
Steven Schäfer
aea5e3ffbc
JVM IR: Remove type substitutions from ExpressionCodegen
...
Instead, determine whether the return type of a call is Nothing, by
looking at the type of the call expression.
2020-01-22 15:51:11 +01:00
Alexander Udalov
3ca0f8a569
Fix incorrect message for new nullability assertion exception in 1.4
...
#KT-36026 Fixed
2020-01-22 14:41:20 +01:00
Alexander Udalov
078b934580
Mute/unmute JVM backend tests for language version 1.4
2020-01-20 19:12:59 +01:00
Mikhail Zarechenskiy
5c5635ce20
Fix codegen & bytecode tests after unifying exceptions in JVM backend
...
See KT-22275 for details
2020-01-20 16:36:03 +03:00
Alexander Udalov
26f435eb90
JVM IR: mute tests which fail after advancing language to 1.4
2020-01-17 12:07:30 +01:00
Dmitry Petrov
4cf8203ce7
PSI2IR: Unify behavior for lambda return values with old back-end
...
See KT-35849.
1. When expected lambda return type is a type parameter, don't generate
introduce implicit casts (even if the corresponding type parameter has
an upper bound that would otherwise require such cast).
2. Do not generate implicit null check for lambda return value of
@EnhancedNullability type.
2020-01-10 15:23:33 +03:00
Steven Schäfer
929fb5c82b
Mute FIR tests containing broken function calls
2020-01-08 13:20:00 +01:00
Dmitry Petrov
d27593aeda
PSI2IR: SAM conversion in method arguments of out-projected Java classes
...
It uses the same logic as an old back-end
(see SamType#createByValueParameter and genericSamProjectedOut.kt),
split into two parts:
1. When inserting SAM casts, use SamType#createByValueParamerer to get
the target SAM type.
2. When inserting implicit casts, cast SAM conversions as arguments of
methods of out-projected types to the original type of value parameter
instead of 'Nothing'.
2020-01-03 15:32:44 +03:00
Dmitry Petrov
a8e9a6a1d0
Properly reference type parameter descriptors
...
'descriptor -> descriptor.original' relation is often inconsistent
wrt 'containingDeclaration', parameters, and type parameters,
we have to introduce some workarounds here.
2019-12-25 14:20:47 +03:00
pyos
17d2fda946
JVM_IR: keep nullability when remapping type parameters
2019-12-23 14:28:05 +03:00
Dmitry Petrov
26782d7216
Fix exception message checking
...
Looks like there's no big difference between "J.s() must not be null"
and "s() must not be null".
2019-12-06 11:03:07 +03:00
Dmitry Petrov
89e1941dfd
Update testData for argument nullability assertion tests
2019-12-06 11:03:06 +03:00
Dmitry Petrov
fc7783c7dd
JVM_IR: JvmArgumentNullabilityAssertionsLowering
2019-12-06 11:03:06 +03:00
Mark Punzalan
5afab1ac2b
[FIR] FIR2IR: Populate calls with type arguments and function type
...
parameters with bounds/supertypes.
2019-11-25 09:37:47 +03:00
Alexander Udalov
bf06d381b9
Minor, move old Java nullability assertion tests under oldLanguageVersions/
...
Also drop the (now confusing) "_lv12" suffix from newer tests
2019-11-21 13:46:17 +01:00
Mark Punzalan
9df2f69f09
[FIR] Disable failing blackbox codegen tests for FIR.
2019-11-19 11:00:09 +03:00
pyos
b6a1154672
Add a test for non-null assertions in local classes/functions
2019-10-08 17:19:41 +02:00
Steven Schäfer
6bf16a96e1
Add more tests for type operators on the jvm
2019-08-27 10:44:23 +02:00
Steven Schäfer
dd20b74030
Split GenerateNotNullAssertionsTests into standard box and bytecode tests
2019-07-08 17:48:33 +02:00
Mikhail Zarechenskiy
c2cf4aa2b5
[NI] Move ability to convert standalone SAM-argument under the feature
...
If new inference is enabled only for IDE analysis, then this feature
will be disabled to reduce difference between new and old inference,
but if new inference is enabled in the compiler, then this feature
will be enabled too to preserve behavior of new inference for
compilation
#KT-32175 Fixed
#KT-32143 Fixed
#KT-32123 Fixed
#KT-32230 Fixed
2019-07-01 12:53:33 +03:00
Mikhail Zarechenskiy
0bc4022242
Revert "Temporary remove failing test for new inference about SAM conversions"
...
This reverts commit 5bcd974944 .
Fixed in 7c4101e2
#KT-29561 Obsolete
2019-05-30 16:45:31 +03:00
pyos
6b2d874ccc
JVM_IR: generate non-null assertions for arguments
2019-05-21 18:30:27 +03:00
Georgy Bronnikov
3e6171aefc
JVM_IR: redirect super calls to DefaultImpls where necessary
2019-05-01 11:47:44 +03:00
pyos
b74586f84e
JVM_IR: implement single-abstract-method conversions
2019-04-04 09:45:00 +02:00
Mikhail Zarechenskiy
5bcd974944
Temporary remove failing test for new inference about SAM conversions
...
Currently, it's easier to remove test completely rather than mute it
somehow as it throws exception at compile-time
#KT-29561 Open
2019-01-29 17:24:49 +03:00
Svyatoslav Kuzmich
aa811dcfb3
[JS IR BE] Add KJS_WITH_FULL_RUNTIME directive to compiler tests
2019-01-24 16:14:40 +03:00
Mikhail Zarechenskiy
01ab4965b1
[NI] Support SAM conversions in backend for special expressions
2019-01-15 13:14:41 +03:00
Mikhael Bogdanov
a8a1bfca72
Specify JVM target backend for test with '// File: *.java'
2018-12-21 16:09:06 +01:00
Alexander Udalov
5b58eb8491
Remove LANGUAGE_VERSION from non-coroutine codegen tests
...
Most of these tests used this directive as a way to opt in to a new
language feature, and most of those features are already stable for a
long time, so no opt-in is needed. Some other tests used the directive
to opt out from a language feature, replace those by the `LANGUAGE`
directive. One test used the directive to test behavior that actually
depended on the API version; use `API_VERSION` directive there instead.
2018-12-20 12:53:23 +01:00
Mikhael Bogdanov
a4206a543a
Skip test on JDK 6
2018-10-22 16:32:55 +02:00
Mikhael Bogdanov
5b8acd69e3
Mute JVM IR tests
2018-10-22 16:32:53 +02:00
Mikhael Bogdanov
ac8e1a0124
Move JVM8 box test to common
2018-10-22 16:32:52 +02:00
Anton Bannykh
8c6337f3f6
[JS IR BE]: support dynamic_var["foo"] = "bar"
...
Used EQ origin to detect. Added a test to check dynamic_var = "bar" case
is not affected
2018-10-10 13:43:22 +03:00
Denis Zharkov
24a905293f
Load Java declarations which reference FunctionN as Deprecated.Error
...
#KT-25855 Fixed
2018-09-12 09:49:25 +03:00
Alexander Udalov
c369e67e9f
Revert "Ignore tests on big function types until master is 1.3"
...
This reverts commit f03dc62173 .
2018-08-30 14:52:38 +03:00
Pavel Punegov
2ff6047845
Update ignore tag for Native backend
2018-08-28 13:48:43 +03:00
Mikhael Bogdanov
357359b1dd
Unmute ir-tests after CR support
2018-08-09 14:22:50 +03:00
Mikhael Bogdanov
2884d728fd
Mute/unmute jvm_ir tests
2018-08-01 12:29:24 +02:00