Ilya Chernikov
e39eb62e6e
FIR LT: Fix diagnostic location calculation on the last line
...
it was calculated incorrectly on the last line that do not end
with EOL.
#KT-56649 fixed
2023-02-16 10:21:03 +00:00
Igor Chevdar
ba172358d8
[K/N] Option to specify IR validation severity
2023-02-14 07:30:47 +00:00
Ivan Kochurkin
8cbb6ff47a
[FIR2IR] Use convertToIrAndActualize() for JS CLI
2023-02-07 14:16:31 +00:00
Svyatoslav Scherbina
cf4934f539
[FIR2IR] Make convertToIrAndActualize() more reusable across backends
2023-02-07 14:16:30 +00:00
Ivan Kochurkin
199b0e8cbe
[FIR] Minor: Unify all create*Session functions across all factories
...
Rename: createJsLibrarySession -> createLibrarySession
Rename: createJsModuleBasedSession -> createModuleBasedSession
2023-02-07 14:16:30 +00:00
Ivan Kochurkin
a9bac2f18b
Add PackageAndMetadataPartProvider interface
...
Use it for parameter in MetadataSymbolProvider
2023-02-07 14:16:29 +00:00
Ivan Kochurkin
f3e3cc0037
[FIR] Implement support of MPP in JS CLI
2023-02-07 14:16:29 +00:00
Anna Kozlova
f784628ebf
[CLI] reduce memory usage for compiler settings
...
make write protection directly in properties
it creates no additional wrapper with the link to the containing class
for ij project, this reduces memory usage for ~15 mb
^KT-56351
2023-02-06 07:57:53 +00:00
Nikita Bobko
62b27b4613
Cleanup: drop KlibIrVersion
...
Review: https://jetbrains.team/p/kt/reviews/8401
In scope of: KT-55082
Because this version isn't used for anything. We have KotlinAbiVersion
to version the IR format.
2023-02-01 15:13:34 +01:00
Ivan Kochurkin
6bdd0edd6c
[FIR2IR] Add Fir2IrCommonMemberStorage, get rid of merge in Fir2Ir storages
...
Extract DescriptorSignatureComposerStub and WrappedDescriptorSignatureComposer to separate classes
2023-02-01 11:42:46 +00:00
Ivan Kochurkin
0f9107c153
[FIR2IR] Remove passing excess arguments to jvm backend functions and classes
...
generateModuleInFrontendIRMode, runBackend
FirJvmBackendExtension, ModuleCompilerIrBackendInput
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
e601b01be2
[FIR2IR] Use single IrBuiltInsOverFir for all MPP source modules
...
^KT-56229 Fixed
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
001b11f285
[FIR2IR] Use single SymbolTable and SignatureComposer for all MPP modules
...
Merge createModuleFragmentWithSignaturesIfNeeded and createModuleFragmentWithoutSignatures
into the createModuleFragmentWithSignaturesIfNeeded
2023-02-01 11:42:44 +00:00
Anna Kozlova
48b1456290
[CLI] create ArgumentParseErrors instances on request
...
spare memory for projects with big number of modules
currently 500kb for IJ monorepo of mostly empty errors
2023-01-31 16:08:23 +00:00
Ilya Chernikov
46c8cbe1bb
FastJarFS: fix behavior on invalid zip files
...
"emulate" the ZipHandler - log error and ignore invalid file
#KT-55712 fixed
2023-01-31 12:50:29 +00:00
Dmitriy Novozhilov
e942e87feb
[JS CLI] Fix == on strings with equals call
2023-01-30 09:29:58 +00:00
Yahor Berdnikau
45213e1468
Switch @GradleOption params to enum classes.
...
This should improve developers UX when using this annotation.
2023-01-29 20:59:28 +00:00
Ilya Goncharov
1150ec6882
[JS] Implementation dependencies for JS klibs
...
^KT-56158 fixed
2023-01-27 13:31:59 +00:00
Stanislav Ruban
4523535545
Deprecate -Xuse-k2 compiler flag in Gradle DSL
...
^KT-56239 Fixed
2023-01-27 12:42:50 +00:00
Sergey Bogolepov
0b4db4beca
[K/N] Fix ALL phases value
2023-01-26 14:32:48 +00:00
Sergey Bogolepov
851d84a865
[K/N] Enable proper LLVM IR dump and verify actions
...
Also introduce -Xsave-llvm-ir-directory argument
that should be used instead of -Xtemporary-files-dir
as a location for LLVM IR from phases.
Motivation for this change: it is simpler to implement
and unties LLVM actions from the awful TempFiles class.
2023-01-26 14:32:48 +00:00
Stanislav Ruban
7e0f69b8de
Introduce tweaks and wording changes related to LV2.0-specific CLI warnings
...
Fix merge conflict related to renaming of one of the tests
Regenerate tests affected by previous commit
Fix merge conflict related to renaming of one of the tests
Improve wording of the `-Xuse-k2 -language-version 1.*` CLI warning
Improve wording of LV2.0-specific CLI warnings some more
Fix output of one of the tests for -Xuse-k2 deprecation
Tweak wording of LV2.0-specific CLI warnings
* make it clear in every warning that -Xuse-k2 is deprecated
* add a reminder to remove -Xuse-k2 for `-Xuse-k2 -language-version 2.0`
* add both possibly wanted fixes for `-Xuse-k2 -language-version 1.*`
Remove deprecated -Xuse-k2 flag from one of the tests
Merge-request: KT-MR-8449
Merged-by: Stanislav Ruban <Stanislav.Ruban@jetbrains.com >
2023-01-26 11:55:03 +00:00
Ivan Kochurkin
bf145ddee8
Extract common buildKotlinMetadataLibrary
...
Use it in FirMetadataSerializer and K2MetadataKlibSerializer
2023-01-24 15:27:15 +00:00
Ivan Kochurkin
1dde34b610
Extract common AbstractMetadataSerializer
...
With inheritors: MetadataSerializer, K2MetadataKlibSerializer, FirMetadataSerializer
2023-01-24 15:27:14 +00:00
Ivan Kochurkin
8a8823e81a
Extract CommonAnalysisResult and use it in K2MetadataKlibSerializer and MetadataSerializer
2023-01-24 15:27:14 +00:00
Ivan Kochurkin
44b7859356
[FIR] Implement FIR metadata serialization
...
Add FirMetadataSerializer
Add CLI metadata tests on FIR
2023-01-24 15:27:14 +00:00
Ivan Kochurkin
04fc2bde96
[FIR] Extract resolveAndCheckFir to firUtils
...
Use it in compilerPipeline and FirKotlinToJvmBytecodeCompiler
2023-01-24 15:27:13 +00:00
Ivan Kochurkin
5f1ed56554
[FIR] Extract createFirLibraryListAndSession to cliCompilerUtils
...
Use it in compilerPipeline and FirKotlinToJvmBytecodeCompiler
2023-01-24 15:27:13 +00:00
Ivan Kochurkin
e22359cc10
[FIR] Add MetadataSymbolProvider
...
Extract common code from K1 to MetadataUtil
2023-01-24 15:27:12 +00:00
Ivan Kochurkin
c103da98dd
[FIR] Add missing dependencies to :compiler:fir:checkers:checkers.native
2023-01-24 15:27:12 +00:00
Alexander Korepanov
1ec88ff560
[JS IR] Enable IR dump for IC invalidation tests
...
Support 'fd.kotlin.js.debugMode' property in IC invalidation tests.
2023-01-24 09:35:15 +00:00
Ilya Goncharov
7ae85ed68e
[JS IR] Module descriptors depends on each other
2023-01-23 16:16:48 +00:00
Roman Efremov
14b4cdc7c4
Write "hasEnumEntries" flag into metadata when feature enabled
...
^KT-53929 Fixed
2023-01-23 12:53:04 +01:00
Vladimir Sukharev
195ecbac2e
Serialize native klib extensions to pass most ObjCExport and CInterop tests.
...
Merge-request: KT-MR-8398
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-23 11:34:47 +00:00
Ilya Chernikov
7ec72b568d
Fix assertion in light tree diagnostic reporter
...
happened then two diagnostics are reported on the same element.
#KT-55924 fixed
2023-01-20 17:57:15 +00:00
Mikhail Glukhikh
c8db20bd0b
Compiler: restore an opportunity to switch light tree mode OFF
...
#KT-55996 Fixed
2023-01-18 14:01:22 +00:00
Alexander Likhachev
4c2923f96f
[IC] Support precise output backup for kapt stubs
...
#KT-49785 In Progress
2023-01-17 22:15:53 +00:00
Alexander Likhachev
742e240bdc
[IC] Report messages with CompilerMessageSeverity.OUTPUT without grouping
...
#KT-49785 In Progress
2023-01-17 22:15:51 +00:00
Artem Kobzar
71486a321c
[K/JS] Add support of compilation with ES-classes
2023-01-17 18:14:17 +00:00
Alexander Udalov
2a80e70860
Install jansi only when colors are enabled, add test
...
Also minor cleanup. Remove the comment about the issue jansi#35 because
although the issue is fixed, the behavior is correct right now: we
enable colors by default iff stderr is a TTY (and the platform is not
Windows), and to determine that we need to call `CLibrary.isatty`.
#KT-55784
2023-01-17 16:59:51 +01:00
Loïc Mangeonjean
34947c9d7a
Allow overriding ansi mode on PlainTextMessageRenderer
...
#KT-55784 Fixed
2023-01-17 16:59:51 +01:00
Alexander Korepanov
75931fb9c8
[JS IR IC] Do not read non modified JS into memory
...
Optimizaion: instead of reading all non modified JS files
from the cache into the memory at once, the patch allows
copying non-modified JS files from disk one by one
during the compilation output writing routine.
2023-01-17 15:48:36 +00:00
Mikhail Glukhikh
70fc891260
K2: move -Xuse-k2 VS language version checks to CommonCompilerArguments
2023-01-16 18:16:49 +01:00
Mikhail Glukhikh
7a61578e08
Language version 2.0: fix compiler messages and minor details
2023-01-16 18:16:48 +01:00
Mikhail Glukhikh
0c4a0360ac
Deserialization/class reading: pass chosen JvmMetadataVersion whenever possible
2023-01-16 18:16:07 +01:00
Mikhail Glukhikh
52ab565cc6
Move LANGUAGE_TO_METADATA_VERSION to compiler:frontend.common.jvm
2023-01-16 18:14:52 +01:00
Mikhail Glukhikh
f6b8b3438a
Extract & use GenerationState.metadataVersion helper
2023-01-16 18:12:55 +01:00
Mikhail Glukhikh
3dc05f4ec5
Introduce language version 2.0 and associate K2 compiler with it
2023-01-16 18:12:55 +01:00
Ilya Chernikov
a29c418b63
Add missing platform core hack to use nio2, avoids warning on Windows
...
add the hack to project environment creation, instead of compliation
call sites, covers missing scenarions with maven scripting and K@ now
and should help to avoid problems in the future.
#KT-54461 fixed
2023-01-15 20:11:57 +01:00
Ilya Chernikov
d8650d9b04
Scripting: support compiler plugins in hosted script compiler
...
Now the plugin-related compiler arguments are respected then used in
the compiler configuration (only in the static part, not supported
if set in a refinement callback)
Note that the "embeddable" version of the plugin should be used if
embeddable compiler is used.
#KT-54095 fixed
2023-01-15 11:14:41 +01:00