Dmitriy Novozhilov
6a7cd0c811
[Test] Add ability to specify applicability of diagnostic to module or file
2021-01-22 13:51:19 +03:00
Denis.Zharkov
5f0d00a83f
FIR: Use proper tower data contexts for postponed callable references
...
E.g., it should contain local scopes of containing lambdas
2021-01-21 18:53:03 +03:00
Dmitry Petrov
4e261cc358
JVM_IR KT-24258 fix NPE message for delegated properties
2020-12-23 21:50:10 +03:00
Dmitry Petrov
443cd0fc2c
Tests for issues fixed in JVM_IR
2020-12-22 16:07:06 +03:00
Jinseong Jeon
f7ade2b0b8
FIR2IR: introduce implicit casts for extension receivers
2020-12-15 11:52:49 +03:00
Alexander Udalov
7b5544ebd3
Use -source/target 1.6 for Java sources in codegen tests
...
In cases when the test has the JVM_TARGET directive, use that one for
Java compilation as well.
Otherwise, for box tests, the corresponding test in `JvmTarget6OnJvm6`
(module `:compiler:tests-different-jdk`) will fail. However, it affects
all codegen tests, so fix a bunch of them which use Java 8+ features to
explicitly compile with JVM target 1.8. In particular, this obsoletes
the SKIP_JDK6 directive in those tests because "JVM_TARGET: 1.8" also
skips it for JDK 6.
The check for IS_SOURCE_6_STILL_SUPPORTED is needed in order to still be
able to run tests in the project while only having a single JDK > 11
installed, and having all of the env vars JDK_16, JDK_17, JDK_18
pointing to that JDK.
2020-11-18 18:43:43 +01:00
Jinseong Jeon
4cb32cd38a
FIR2IR: add implicit NOT_NULL cast for @FlexibleNullability type
2020-11-18 13:06:48 +03:00
Mikhail Glukhikh
bc47a30dd3
[FIR] Handle 'EnhancedNullability' more properly
...
This commit includes three changes:
1. 'EnhancedNullability' is no more set for declaration types
2. It is no more used for conversion types in translator
3. Translator inserts implicit not-null cast only when enhanced type is cast to not-null type.
2020-11-10 21:07:27 +03:00
Svyatoslav Kuzmich
fdd7fa5aea
[Wasm] Mute codegen box tests
2020-11-09 16:04:43 +03:00
Steven Schäfer
bd4e2a283c
JVM IR: Don't generate null checks on value parameters of private operator functions
...
The null check on the extension receiver of private operator functions
is a special case and doesn't extend to value parameters.
2020-11-03 21:44:25 +01:00
Jinseong Jeon
46cc01602e
FIR2IR: add implicit NOT_NULL cast if needed
2020-10-22 10:51:20 +03:00
Dmitry Petrov
0b34526321
JVM_IR remove lambda hack required for odd JVM+OI behavior in KT-35849
2020-10-21 13:47:01 +03:00
Dmitry Petrov
3979cde738
Add box and PSI2IR tests for special cases listed in KT-35849
2020-10-20 19:31:40 +03:00
Mikhail Glukhikh
a7da0d5080
[FIR] Approximate exotic return types for public declarations
2020-09-03 14:24:31 +03:00
Mikhail Glukhikh
85c1505689
[FIR2IR] Copy type parameters for trivial fake overrides
2020-08-20 16:04:02 +03:00
Dmitriy Novozhilov
624b9306f0
[FIR] Resolve LHS of type operator call in independent context
...
#KT-39046 Fixed
2020-07-02 15:10:51 +03:00
Mikhail Glukhikh
c4d41f48a3
[IR] Allow Fir2Ir symbols in function factory
2020-06-29 16:08:12 +03:00
Mikhail Glukhikh
a545ec41a0
FIR serializer: consider exotic types as errors (breaks 4 BB tests)
2020-04-28 07:35:09 +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
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 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
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
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
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
pyos
6b2d874ccc
JVM_IR: generate non-null assertions for arguments
2019-05-21 18:30:27 +03:00
pyos
b74586f84e
JVM_IR: implement single-abstract-method conversions
2019-04-04 09:45:00 +02:00
Svyatoslav Kuzmich
aa811dcfb3
[JS IR BE] Add KJS_WITH_FULL_RUNTIME directive to compiler tests
2019-01-24 16:14:40 +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