Sergej Jaskiewicz
672be7ecb5
[test] Allow files with same names in tests
...
Introduce a directive that allows compiling different files with
matching names in tests.
2022-12-01 17:15:55 +00:00
Jaebaek Seo
1a5a6474d6
Support TargetPlatform.isJs() for FIR
2022-11-15 16:50:17 +01:00
Ilya Chernikov
fa0cda6236
FIR JS: enable full JS box tests with FIR
2022-11-12 14:34:07 +01:00
Dmitriy Novozhilov
097a86deb5
[Test] Check that FIR tree does not contain stub types and type variable types after resolution
2022-11-03 08:30:08 +00:00
Mikhail Glukhikh
036f9affd8
K2: link via signatures if -Xlink-via-signatures is set
...
Related to KT-53505
2022-09-14 10:15:22 +00:00
Pavel Mikhailovskii
6a14400342
KT-53804 Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib
2022-09-05 14:02:52 +00:00
Alexander Udalov
690322b203
Add flag -Xno-new-java-annotation-targets
...
Do not generate TYPE_USE/TYPE_PARAMETER Java annotation targets when
this flag is specified.
#KT-53712 Fixed
2022-08-29 13:43:49 +02:00
Nikita Bobko
8f79e833a8
Drop all redundant kotlin-reflect, kotlin-reflect-api dependencies
...
Review: https://jetbrains.team/p/kt/reviews/6753
All redundant I managed to find, of course.
Why: I'm going to process all reflect dependencies in the next commits.
Cleanup reflect dependency before processing.
They are redundant because:
1. if `compileOnly` then compilation didn't break after dropping the
dependency
2. if `test*` then tests didn't break after dropping the dependency.
3. `analysis/analysis-api-fir/analysis-api-fir-generator/build.gradle.kts`
`compiler/fir/checkers/checkers-component-generator/build.gradle.kts`
Drop `implementation(project(":kotlin-reflect-api"))` because the
module already depends on
`implementation(project(":kotlin-reflect"))`
4. `compiler/daemon/daemon-client/build.gradle.kts`. Drop `runtimeOnly`
because after dropping `compileOnly` compilation didn't break (so
`runtimeOnly` looks suspicious). Less safe than 1-3
2022-08-22 15:42:57 +02:00
Ilya Kirillov
56e6d5d6b9
[Analysis API] do not preresolve all FirDeclarations to TYPES in tests
...
Previously, we resolved all declaration to the TYPES phase to collect their sealed inheritors
and thus not really checking lazy resolution to TYPES.
Now sealed class inheritors collection happens in separate LLFirResolveSession
2022-08-10 22:49:13 +02:00
Victor Petukhov
8500ee08a8
[FE 1.0] Remove CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION analysis flag
...
The constraint system for the old type inference is going to be removed.
Also, `CONSTRAINT_SYSTEM_FOR_OVERLOAD_RESOLUTION` isn't used in the production
2022-08-02 10:29:38 +00:00
Dmitriy Novozhilov
9c41e75802
[KAPT] Migrate kapt tests to new test infrastructure
2022-07-20 10:12:24 +00:00
Dmitriy Novozhilov
b7cc781e97
[Test] Create KtFiles with proper virtual files
...
This is needed to properly report diagnostics in KAPT3 tests, which
uses psiElement.containingFile as origin
2022-07-20 10:12:23 +00:00
Dmitriy Novozhilov
1a8496757e
[Compiler] Mark all entrypoints to compiler API as experimental
2022-06-29 12:00:01 +00:00
Dmitriy Novozhilov
8b42638afa
[Plugins] Introduce new API for registering compiler plugins
...
Original `ComponentRegistrar` exposes Project to its registration method,
so plugins should manually register extensions to it. To prepare for
possible unbound compiler from Project API in future new `K2ComponentRegistrar`
introduced which provides registration method without Project at all
2022-06-29 11:59:58 +00:00
Dmitriy Novozhilov
bc8051ce9b
[Test] Allow to create source files different from .kt and .java in SourceFileProvider
2022-06-07 14:12:20 +00:00
Ilya Kirillov
2649788b87
[analysis api fir] put every library into a separate KtModule in tests
2022-04-13 12:53:22 +02:00
Dmitriy Novozhilov
afad6a564a
[Test] Pass CompilerConfiguration to AbstractEnvironmentConfigurator.registerCompilerExtensions
...
This is needed to provide ability to configure extensions depending on
configuration of specific test
2022-04-08 09:42:00 +00:00
Dmitriy Novozhilov
400ad6a01e
[Test] Add ability to configure access to application disposable in test configuration
...
This is needed to unbound CompilerConfigurationProvider from ApplicationEnvironmentDisposer,
which depends on classes from JUnit 5. This will allow to safely use
compiler test framework with base test framework different from JUnit 5
2022-04-08 09:41:59 +00:00
Ilya Chernikov
03cbfea737
FIR LT: Introduce source file abstraction, carry it from parsing to IR
...
along with source lines mapping, allows to "emulate" usage of the
PSI files which allows to extract source file and line mapping info
on every stage from source element.
It makes sense to use this mapping for the error reporting too.
2022-03-30 08:34:30 +00:00
Ilya Chernikov
cf22400701
Introduce LT file abstraction in tests parallel to KtFile
...
allows to create a valid LT-based file with synthetic path important
for dumps comparisons in tests
2022-03-30 08:30:09 +00:00
Roman Golyshev
ffcbc583d0
FIR: Split EnvironmentConfigurator to an interface and abstract class
...
It is needed to make it easier to write wrappers for configurators
2022-02-25 23:08:26 +03:00
Alexander Udalov
b443848ea0
Fix type table serialization in DescriptorSerializer
...
Always serialize type table (and version requirement table) after
everything else, to prevent bugs like KT-51446 where inline class
underlying type was added to the type table after it has already been
serialized.
#KT-51446 Fixed
2022-02-24 16:34:25 +01:00
Jinseong Jeon
a986aff429
AA: refactor service registrations
...
such that AA standalone mode doesn't need to unregister services that
were already registered by pre-analysis handlers
2022-02-09 23:11:44 +01:00
Mikhail Glukhikh
ad0d0ca47f
Drop redundant Suppress("RemoveExplicitTypeArguments")
2022-01-26 12:19:55 +00:00
Dmitriy Novozhilov
09a7a1c09f
[FIR] Add ability to specify members in FirScopeDumpHandler
2022-01-19 15:24:43 +03:00
Irene Dea
3c4989b672
Address JDK8/JDK6 issues with computeIfAbsent
2022-01-08 15:26:44 +03:00
Irene Dea
62bde2d686
Move AttributeArray to compiler.common so frontend extension can share it
2022-01-08 15:25:06 +03:00
Ilya Kirillov
40fdb26569
Analysis LC: introduce Symbol LC tests
2021-12-27 16:23:18 +03:00
Mikhael Bogdanov
3593e45b97
Rename 'RELEASE' fields into 'JDK_RELEASE'
2021-12-23 07:26:00 +00:00
Mikhael Bogdanov
409d36c911
Basic -Xrelease option support
...
#KT-29974 Fixed
2021-12-23 07:25:57 +00:00
Sergej Jaskiewicz
3fb1096c18
[JS IR] Support IR dump in JS tests
2021-12-22 17:55:33 +00:00
Vyacheslav Gerasimov
f7a9065b75
Build: Use intellij maven repo instead of downloaded IDEA
...
#KTI-82
2021-12-16 21:48:23 +03:00
Ivan Kylchik
b131c52889
Drop all usages of WITH_RUNTIME directive
2021-12-13 18:07:11 +03:00
Evgeniy.Zhelenskiy
b1d1f87318
[Tests] Introduce reversible source file preprocessor
2021-12-10 18:19:17 +03:00
Evgeniy.Zhelenskiy
cb4ec932d7
[Tests] Introduce replacing source transformer
2021-12-10 18:19:17 +03:00
Evgeniy.Zhelenskiy
f0af2487c7
[Tests] Replace @JvmInline with actual OPTIONAL_JVM_INLINE_ANNOTATION
2021-12-10 18:19:16 +03:00
Evgeniy.Zhelenskiy
f92290dfdf
[Tests] Generate runTest with transformer parameter + example
2021-12-10 18:19:15 +03:00
Mikhael Bogdanov
c0ffbe03c6
Remove '-Xjvm-default-allow-non-default-inheritance' flag. Enable such inheritance by default
...
#KT-47000 Fixed
2021-12-03 06:39:38 +01:00
Sergej Jaskiewicz
887e91328f
[JS IR] Allow value classes in external decls
...
Instances of value classes are passed unboxed, unless the instance is
nullable _and_ the value class wraps another nullable value.
#KT-43224 Fixed
2021-11-29 21:51:29 +00:00
Ivan Kylchik
c59098df2f
[JS TESTS] Rewrite js ir tests using new test infrastructure
2021-11-08 23:50:34 +03:00
Ivan Kylchik
37f02390ec
[TESTS] Extract common backend directives into ConfigurationDirectives
2021-11-08 23:50:33 +03:00
Mikhael Bogdanov
afc149d460
JvmDefault. Allow non default inheritance with special flag
...
#KT-47000
2021-11-01 13:30:57 +01:00
Dmitriy Novozhilov
af0e40a0d2
[JS Test] Support RECOMPILE directive in js box tests in new infrastructure
2021-10-25 00:14:21 +03:00
Ivan Kylchik
a2d2ace71a
[JS TESTS] Rewrite js tests using new test infrastructure
2021-10-25 00:14:20 +03:00
Dmitriy Novozhilov
e56c87a17a
[Build] Move utils for generation JUnit 5 tests to :generators module
2021-10-12 17:26:18 +03:00
Dmitriy Novozhilov
a68c4ec7be
[Test] Add ability to specify main class in Box tests
...
Also slightly refactor some existing services to make them more idiomatic
2021-10-07 13:08:45 +03:00
Dmitriy Novozhilov
de7fb9606a
Migrate all JDK 9 related tests to JDK 11
2021-09-28 13:01:47 +03:00
Mikhail Glukhikh
007cf2ce7c
Rename AnalysisFlags.useExperimental to optIn
2021-09-10 16:29:18 +03:00
Mikhail Glukhikh
aedcec7715
Drop unused LanguageSettingsDirectives.EXPERIMENTAL
2021-09-10 16:29:17 +03:00
Mikhail Glukhikh
fc6403679a
Rename !USE_EXPERIMENTAL test directive to !OPT_IN
2021-09-10 16:29:16 +03:00