Ilya Gorbunov
8ae21c0e1b
[Generator] Do not omit public visibility of methods in wasm
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
918b935e22
[Generator] Write the body of Boolean.hashCode in one place
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
1c149925b7
[Generator] Always put expression body on a new line
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
68a9b9c312
[Generator] Reference generator class in generated code files
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
74ac48851a
[Generator] Canonical order of modifiers
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
60bbd08569
[Generator] Rename additionalDoc, put its content before annotations
2023-09-04 11:32:39 +00:00
Alexander Udalov
5c19cb3fcb
[KAPT4] KT-51982 Implement Kapt4AnalysisHandlerExtension, add KAPT CLI and Gradle IT
...
Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com >
2023-08-31 22:19:13 +00:00
Anton Bannykh
387898056a
[JS] Report K2 diagnostics before Fir2IR
...
^KT-60531 fixed
2023-08-31 12:15:08 +00:00
Yan Zhulanow
4b80c2197f
[Analysis API] Run code fragment compilation tests against libraries
2023-08-30 06:38:44 +00:00
Ilya Gorbunov
7d3f080c81
Generate JS Long using builtin generators (step 2)
2023-08-29 16:27:55 +00:00
Dmitrii Gridin
5557ea690d
[AA] add generated tests for scripts
...
^KT-61431
2023-08-28 15:02:24 +00:00
Kirill Rakhman
bb8a46c3a0
[Test] Parallelize test generation
2023-08-28 08:02:05 +00:00
Bogdan Mukvich
2472999242
Fail generateTests when testData directory is empty
...
When switching git branches, there might be some empty directories left
This causes generateTests to pass locally with no changes and fail on CI
2023-08-25 15:23:40 +00:00
aleksandrina-streltsova
aa0eca6d6d
[AA] Provide KtCallableSymbol for static Java members
...
^KTIJ-25126 Fixed
2023-08-24 22:17:48 +03:00
Ivan Kylchik
6a9c50325e
[Generator] Add otherKind parameter to conversion methods
2023-08-24 08:59:49 +00:00
Ivan Kylchik
adce2c9a78
[WASM] Replace deprecated Char.toInt() with Char.code
2023-08-24 08:59:49 +00:00
Ivan Kylchik
ee973c0ede
[Generator] Generate Char class
2023-08-24 08:59:49 +00:00
Ivan Kylchik
38e434bc07
[Generator] Generate Boolean class
2023-08-24 08:59:49 +00:00
Ilya Gorbunov
3f3cd2e87a
[Generator] Set up body for rangeTo and rangeUntil by default
...
Also use expression body formatting for `rangeTo`.
2023-08-24 08:59:49 +00:00
Ivan Kylchik
097535aeea
[Generator] Replace IntrinsicConstEvaluation string with const property
2023-08-24 08:59:49 +00:00
Ilya Kirillov
2ce324f1fc
[Analysis API] rename AbstractSingleSymbolByPsi -> AbstractSingleSymbolByPsiTest
...
to match test naming convention
2023-08-17 13:01:02 +00:00
Anton Bannykh
6a886e4c32
[JS] rename IC tests to easier distinguish between the K1/K2 variants
2023-08-11 15:46:51 +00:00
Anton Bannykh
962bfaca9c
[JS] Support multimodule IC tests with K2
...
Includes supporting klib file generation.
2023-08-11 15:46:51 +00:00
Dmitrii Gridin
d19a23aae5
[LL FIR] implement tests on dependent copy session analyze
...
^KT-60987
2023-08-09 15:22:57 +00:00
Pavel Mikhailovskii
2002542ad2
Stub generation infrastructure (except for metadata generation) for KAPT+K2
...
This commit includes the basic Java stubs generation infrastructure and
the corresponding tests. The main entry point is called
Kapt4StubGenerator. Calls to it from production code will be added in a
separate commit.
#KT-51982
2023-08-09 01:17:21 +00:00
Dmitrii Gridin
734a3e5716
[LL FIR] do not create lazy bodies during on-air resolve in scripts
...
We assume that on-air resolve already has normal bodies,
so depending on this fact, we can omit some redundant work
^KT-61026 Fixed
2023-08-08 15:40:48 +00:00
Yan Zhulanow
4fbbe9f274
[LL API] Add in-body modification tests for code fragments
2023-08-07 16:22:03 +00:00
Yan Zhulanow
a09c2a485e
[LL API] Add basic tests for 'ContextCollector'
2023-08-07 16:22:02 +00:00
Yan Zhulanow
e1db3c88cf
[LL API] Support code fragment compilation
2023-08-07 16:22:01 +00:00
Yan Zhulanow
02af189066
[LL API] Support code fragment analysis
2023-08-07 16:22:01 +00:00
Ilya Kirillov
419c0c83e3
[stub builder] introduce a separate testsuite where classfiles generated by the K2 compiler
...
The result of k1/k2 should be similar here, the differences should be fixed by KT-60764
2023-07-31 15:38:07 +00:00
Dmitrii Gridin
e99cfbd3b7
[LL FIR] add script tests for AbstractFirLazyDeclarationResolveTest
...
^KT-60728
2023-07-28 00:13:59 +02:00
Dmitrii Gridin
1515fbe99f
[LL FIR] add script tests for AbstractGetOrBuildFirTest
...
^KT-60728
2023-07-28 00:13:59 +02:00
Dmitrii Gridin
a60abc6c06
[LL FIR] add script tests for AbstractInBlockModificationTest
...
^KT-60728
2023-07-28 00:13:59 +02:00
Dmitrii Gridin
e328aeee72
[LL FIR] add script tests for AbstractWholeFileResolvePhaseTest
...
^KT-60728
2023-07-27 12:02:05 +00:00
Dmitrii Gridin
167c247456
[LL FIR] rename AbstractInnerDeclarationsResolvePhaseTest to AbstractWholeFileResolvePhaseTest
...
^KT-60728
2023-07-27 12:02:05 +00:00
Dmitrii Gridin
b1b123efc0
[LL FIR] merge innerDeclarationsResolve testData to fileStructure
...
^KT-60728
2023-07-27 12:02:05 +00:00
Dmitrii Gridin
8a906004e3
[LL FIR] do not resolve declarations from script separately
...
It leads to exceptions because of race.
We shouldn't try to resolve a script and its content simultaneously,
because it is not thread-safe
^KT-60728
2023-07-27 12:02:05 +00:00
Dmitrii Gridin
6fa254c353
[LL FIR] merge diagnosticTraversalCounter testData to fileStructure
...
^KT-60728
2023-07-27 12:02:04 +00:00
Dmitrii Gridin
9970663a2b
[LL FIR] add script tests for AbstractFirContextCollectionTest
...
^KT-60728
2023-07-27 12:02:04 +00:00
Dmitrii Gridin
3ed5ccbb6f
[LL FIR] add script tests for AbstractFileStructureTest
...
^KT-60728
2023-07-27 12:02:04 +00:00
Dmitrii Gridin
e248d1a588
[LL FIR] add script tests for AbstractFileBasedKotlinDeclarationProviderTest
...
^KT-60728
2023-07-27 12:02:04 +00:00
Dmitrii Gridin
aa36e2ef5b
[LL FIR] add script tests for AbstractNonLocalDeclarationAnchorTest
...
^KT-60728
2023-07-27 12:02:04 +00:00
Dmitrii Gridin
60dc0ace47
[LL FIR] add script tests for AbstractClassIdTest
...
^KT-60728
2023-07-27 12:02:04 +00:00
Yan Zhulanow
0f6f22d76b
[Analysis API] Add API for code compilation
...
The API replaces 'KotlinCompilerIde' in the IntelliJ IDEA plugin.
Code moved to Analysis API as its K2 implementation severely depends on
the internal compiler API (FIR).
The API is going to be used in the JVM debugger evaluator, and in
the Bytecode Tool Window.
In this commit, only ordinary Kotlin are supported.
In later commits, there will be also support for 'KtCodeFragment' files,
as well as some test coverage.
2023-07-27 10:23:42 +00:00
aleksandrina-streltsova
ca25162574
[AA] implement isExpect/isActual for KtClassLikeSymbol
...
KT-54846
2023-07-24 17:24:41 +00:00
Mikhail Glukhikh
66bbb9582c
K1/K2: split incremental compilation tests properly (relates to KT-59171)
2023-07-19 09:34:58 +00:00
Brian Norman
70662007a5
[AllOpen] Private properties can be considered stable even when open
...
The AllOpen plugin can make private members open. But for private
properties, they can be considered stable for smart-casting if they do
not have a custom getter.
#KT-58049 Fixed
2023-07-17 11:49:24 +00:00
Justin Paupore
9f85739599
[AA] Add KtResolveExtensionInfoProvider to AA.
...
This provider is responsible for answering queries related to resolve
extensions. At the moment, this includes retrieving a KtScope with all REx
top-level declarations (moved from KtSymbolFromResolveExtensionProvider), and
retrieving information necessary to supply a GeneratedSourcesFilter for REx
generated code. Future REx-related functions can be added to this interface.
^KT-59329
2023-07-14 19:32:09 +02:00
Justin Paupore
734b87b97e
[AA] Allow specifying REx file contents in testdata.
...
Tests can now specify the code generated by a resolve extension from
within the test's testdata. Module-level directives control whether
resolve extensions are enabled for that module, as well as package names
and source shadowing regexes. File-level directives allow a `// FILE:`
block within the testdata to be converted into a KtResolveExtensionFile
and removed from the module as a whole. (This requires a new
`ModuleStructureTransformer`, because we need to be able to entirely
remove the files in question.)
Any test can add support for these directives by calling
`KtResolveExtensionTestSupport.configure` from within their
`configureTest` stanza. This allows this functionality to be used in
conjuction with any test base class.
^KT-59329
2023-07-14 19:32:08 +02:00