Ivan Kylchik
1978bfcd85
Rewrite rendering of meta info for CHECK_NOT_NULL in interpreter's test
...
This way it is possible to unify rendering of elements built by psi2ir
and fir2ir.
2021-08-06 13:33:22 +03:00
Ivan Kylchik
6fe8dd1254
Add ir interpreter tests for ir built from psi
2021-08-06 13:32:57 +03:00
Victor Petukhov
cd09c8ba51
Report CANNOT_INFER_PARAMETER_TYPE on any error value parameters of a lambda
...
^KT-48058 Fixed
2021-08-06 13:27:57 +03:00
Victor Petukhov
1966915e92
Create DONT_CARE type only for dependent lambdas (i.e. to be resolved through the type inference later)
...
^KT-47493 Fixed
2021-08-06 13:27:56 +03:00
Dmitry Petrov
02d8c7527e
JVM_IR more aggressive if-null expressions fusion
...
Assume that changing a return type from T to T?
is not a binary-compatible change.
2021-08-05 17:51:49 +03:00
Dmitriy Novozhilov
6f0bf766f2
[Test] Add single service for checking that codegen test is ingored
...
This approach is better than manual check for `IGNORE_BACKEND` directive
because it also tracks `IGNORE_BACKEND_FIR` directive and reduces
duplicating code
2021-08-05 16:59:00 +03:00
Dmitriy Novozhilov
c8386ad1c7
[Test] Properly handle output from separate jvm instance in box tests
2021-08-05 16:58:59 +03:00
Dmitriy Novozhilov
8578f0beea
[FE 1.0] Check for type mismatch for empty when statements
...
^KT-47922 Fixed
2021-08-04 19:33:45 +03:00
Victor Petukhov
13cb3c138a
Update FE tests
2021-08-04 17:36:53 +03:00
Victor Petukhov
7567597be6
Java nullability checker: take type arguments' types from resolution atom if possible, instead of from resolved call directly
...
^KT-47833 Fixed
2021-08-04 17:36:51 +03:00
Victor Petukhov
93f9d9dacd
Check if the intersecting types aren't empty during finding the result type for variable fixation
...
^KT-47941 Fixed
2021-08-04 17:36:50 +03:00
Andrey Zinovyev
ec4cbfef59
[FIR] UNREACHABLE_CODE diagnostic (wip)
...
Implementation for PSI only
2021-08-04 14:42:24 +03:00
Dmitry Petrov
bd71fbe982
JVM_IR KT-34594 strip fake variable initialization during inlining
2021-08-03 20:41:31 +03:00
Dmitry Petrov
37050e0616
JVM_IR KT-34594 don't generate fake local variable for @InlineOnly
2021-08-03 20:41:31 +03:00
Dmitriy Novozhilov
17bbedbc50
[Test] Fix FileComparisonFailureFirst comparator to keep sorting stability
2021-08-02 20:07:49 +03:00
Dmitriy Novozhilov
ca40cbede5
[Test] Get rid of BackendKindExtractor
2021-08-02 20:07:49 +03:00
Dmitriy Novozhilov
08a1134fff
[Test] Remove abstract MultiModuleInfoDumper
2021-08-02 20:07:47 +03:00
Dmitriy Novozhilov
90e06bf403
[Test] Reformat AbstractIrSerializeCompileKotlinAgainstInlineKotlinTest
...
- Extract IrInlineBodiesHandler to separate file
- Replace SerializeSetter environment configurator with SERIALIZE_IR
directive
2021-08-02 20:07:46 +03:00
Dmitriy Novozhilov
a66f3d26fd
[Test] Replace three fixed phases of tests with step system
...
Now each test is just a sequence of any number of different steps. There
are two kinds of steps:
1. Run some facade
2. Run handlers of specific artifact kind
Through the test each module passed to each step (if it is compatible
by kinds of artifacts)
2021-08-02 20:07:45 +03:00
Dmitriy Novozhilov
ba48f80e53
[Test] Introduce single interface for all entities which provides directive containers and test services
2021-08-02 20:07:44 +03:00
Dmitriy Novozhilov
199ec60742
[JVM] Reduce number of param slots for string concatenation
...
With paramSlot = 200 those tests fails on JDKs which are newer than JDK 9
- testConcatDynamic200Long
- testConcatDynamicIndy200Long()
2021-08-01 22:23:48 +03:00
Dmitriy Novozhilov
5206b45ce3
[Test] Use JDK 11 instead of JDK 9 in modern jdk tests
2021-08-01 22:23:47 +03:00
Dmitriy Novozhilov
fd537e7d5a
[Build] Detect JDK 17 in old way using environment variables
...
There is a problem that toolchains can not detect JDK 17 EAP
on windows agents. This commit will be reverted after JDK 17 release
in adoptopenjdk.net
2021-08-01 22:23:47 +03:00
Dmitriy Novozhilov
17fc1da719
[Reflection] Support java records in kotlin reflection
...
^KT-47760
2021-08-01 22:23:46 +03:00
Dmitriy Novozhilov
8dad8fa813
[Reflection] Support java sealed classes in kotlin reflection
...
^KT-46778
2021-08-01 22:23:45 +03:00
Dmitriy Novozhilov
fa1d09c778
[FE 1.0] Support java sealed classes
...
^KT-46778 Fixed
2021-08-01 22:23:45 +03:00
Dmitriy Novozhilov
972211f8e6
[Test] Add directive which allows to attach debugger to instance of JVM in box test
2021-08-01 22:23:44 +03:00
Dmitriy Novozhilov
1fa74ef939
[Test] Move test on modern jdk to separate test runners
...
This is needed to avoid problems with installation of proper jdk
on developer machines. Those tests will be moved back to main box
suites after migrating our tests on LTS versions of jdk (11 and 17
instead of 9 and 15)
2021-08-01 22:23:43 +03:00
Dmitriy Novozhilov
89bd52c7d2
[Test] Provide path to JDK 9/15/17 via toolchains
2021-08-01 22:23:42 +03:00
Dmitriy Novozhilov
de73622af9
[Test] Mark BB tests on modern jdks with tag and ignore them in different-jdk tests
2021-08-01 22:23:42 +03:00
Dmitriy Novozhilov
c2e2068682
[Test] Add ability to mark group of tests with specific tags
...
Currently tags can be applied to all tests in specific testdata
directory by placing `_tags.txt` file in it, where all tags should
be listed on separate lines. Test generator adds those tags to
corresponding generated test classes with `@Tag` annotation
Please note that is applicable only to JUnit 5 tests
2021-08-01 22:23:41 +03:00
Dmitriy Novozhilov
c168a561df
[Test] Migrate tests for java 15 to regular test infrastructure
2021-08-01 22:23:39 +03:00
Dmitriy Novozhilov
4f73ebbcbd
[Test] Migrate tests for java 9 to regular test infrastructure
2021-08-01 22:23:39 +03:00
Dmitriy Novozhilov
ca214bef30
[Test] Add ability to run box test in separate jvm for common codegen tests
2021-08-01 22:23:36 +03:00
Alexander Udalov
847c58d574
Report error on class named Container inside repeatable annotation
...
#KT-12794
#KT-47971
2021-07-30 19:53:44 +02:00
Alexander Udalov
e20b354dbd
Check repeatable annotation container parameters, retention, target
...
#KT-12794
#KT-47928
2021-07-30 19:53:33 +02:00
Alexander Udalov
0a6d010d1c
Support new repeatable annotations in kotlin-reflect
...
- Unwrap Kotlin-repeatable annotations (with implicit container)
- Introduce `KAnnotatedElement.findAnnotations` to find instances of
repeated annotations
#KT-12794
2021-07-30 19:53:33 +02:00
Alexander Udalov
67128c022a
Report error if both repeatable annotation and its container are used
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
b2550f69bc
Report error if repeated annotation is used with JVM target 1.6
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
26043f3968
Generate Java @Repeatable on Kotlin-repeatable annotation classes
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
92a73d7636
Generate container class for repeatable annotations
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
87130edfa2
Support using Java-repeatable annotations in Kotlin
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
f723389565
Remove mapping of java.Repeatable to kotlin.Repeatable in JavaAnnotationMapper
...
The main motivation for this change is that
java.lang.annotation.Repeatable has a parameter for the container
annotation, which is lost during conversion to
kotlin.annotation.Repeatable. To support j.l.a.Repeatable in backend
properly, it's absolutely necessary to be able to load the container
annotation for any repeatable annotation class, so the original
j.l.a.Repeatable needs to be stored in the descriptor and accessible
from the backend.
Instead of mapping j.l.a.Repeatable -> k.a.Repeatable, add a frontend
service PlatformAnnotationFeaturesSupport that will determine if an
annotation is repeatable "according to the platform rules", which for
JVM means that it's annotated with j.l.a.Repeatable.
Some effects of this change include:
- Usages of j.l.a.Repeatable are no longer reported as "deprecated", the
corresponding test is deleted
- Usages of repeatable annotations declared in Java with non-SOURCE
retention with LV 1.5 and earlier will now result in a slightly
different error (REPEATED_ANNOTATION instead of
NON_SOURCE_REPEATED_ANNOTATION)
#KT-12794
2021-07-30 19:53:32 +02:00
Dmitry Petrov
ebf837c135
JVM_IR disable IR and bytecode validation by default
2021-07-30 20:21:41 +03:00
Nikolay Krasko
ca4410aa53
Stop auto-generating expected test data on TeamCity in assertEqualsToFile
2021-07-30 17:46:45 +03:00
Dmitry Petrov
ca5ebdc13c
PSI2IR KT-44855 propagate smart cast information for property values
2021-07-29 21:41:50 +03:00
Mikhael Bogdanov
c9c82ab3a6
Update test affected by SafeCallsAreAlwaysNullable feature
2021-07-29 19:45:55 +02:00
Mikhael Bogdanov
7cbd6908f9
Update test affected by ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated feature
2021-07-29 19:45:53 +02:00
Dmitriy Novozhilov
046730c62c
[Test] Integrate AbstractCompileTimeConstantEvaluatorTest to AbstractDiagnosticTest
...
^KT-47898
2021-07-29 15:25:53 +03:00
pyos
c401582770
FE: do not wrap types with enhancements if they're the same
2021-07-29 14:52:51 +03:00