Mikhail Glukhikh
26f919df03
Fix some nullable usages of not-null type parameters (KT-36770)
2020-03-18 10:24:26 +03:00
Roman Artemev
31d73c5d79
[Psi2Ir] Move to new linkage scheme based on IdSignature
...
Now SymbolTable operates with two types of symbols (public and private)
In case of Public symbol IdSignature is used as table key
Private one uses descriptor as the key in similar scheme as before
2020-02-14 18:22:16 +03:00
Ilya Chernikov
b96109f23f
Add diagnostic code to the ScriptDiagnostic
...
to allow checking for specific errors, e.g. incomplete statements in
the REPL
2020-02-13 11:33:40 +01:00
Ilya Chernikov
514282fb0a
Use correct platform classloader on script evaluation in cli compiler
...
#KT-28475 fixed
also minor testing infrastruct refactoring
2020-02-13 11:33:40 +01:00
Mikhail Zarechenskiy
c64577b735
Temporary fixes for Kotlin project after enabling NI
...
Most of these fixes will gone away after compiler bootstraping
2020-02-13 11:15:57 +03:00
Georgy Bronnikov
8f4b4007fe
JVM_IR: Add test for compiling against cross-platform Klib
2020-01-28 12:19:43 +03:00
Ilya Chernikov
dca0a71d9b
Add only non-jdk classpath entries from the compiler to script
...
remove unnecessary manifest classpath entries in the saved compiled
script jar
2020-01-21 17:42:48 +01:00
Ilya Chernikov
75441386e3
Use scripting cache earlier in the pipeline:
...
before initializing compiler and processing callbacks
2020-01-21 17:42:48 +01:00
Ilya Chernikov
c7d9eaed40
Speed up REPL package member declaration provider
...
about 10-15% on specific test
also preparing test infrastructure for it
2020-01-21 17:42:48 +01:00
Ilya Chernikov
cb7cc8ac6b
[minor] fix typo in function name
2020-01-21 17:42:48 +01:00
Ilya Chernikov
1b65ec75ad
Immplement default cache in main-kts
2020-01-21 17:42:48 +01:00
Ilya Chernikov
891914167a
Switch cli expression evaluation argument syntax to -expression/-e
...
#KT-35414 fixed
2020-01-21 17:42:48 +01:00
Ilya Chernikov
d15d62a338
Check REPL snippet syntax before calling analysis
...
restores the behaviour of the GenericRepl implementation and fixes
issues then invalid code is being compiled
#KT-34888 fixed
2020-01-21 17:42:48 +01:00
Mikhail Zarechenskiy
0fdebdfeba
Refactoring: move SamConversionResolverImpl to core module
2020-01-17 19:36:07 +03:00
Mikhail Zarechenskiy
c93c82236c
Refactoring: move common parts about SAMs to frontend module
2020-01-17 19:36:06 +03:00
Ilya Chernikov
995c6a32b8
Allow only single expression eval in cli compiler and kotlin runner
...
#KT-35740 fixed
also add tests and drop logger usage in the cli dependencies manager:
the logger is normally unitialized in the usage scenarios, but related
warnings are annoying.
2020-01-09 10:51:25 +01:00
Svyatoslav Kuzmich
31c84e9ac4
[JS IR] Build stdlib using compiler from repo
...
Previously JS IR versions of stdlib and kotlin-test were build
by default using compiler previously built on a buildserver.
It had some issues:
- This required us to advance bootstrap every time we made any
incompatible IR changes. This happens often since IR ABI is
not quite stable yet.
- We never tested the exact combination of compiler and stdlib we publish
We tested:
- new compiler with new stdlib build by new compiler (in box tests)
- old compiler with new stdlib build by old compiler (in stdlib tests)
We published:
- new compiler with new stdlib build by old compiler
After this change JS IR compiler tests, builds and publishes
single configuration:
new compiler with new stdlib build by new compiler
JS IR stdlib and kotlin-test are now built using JavaExec of CLI instead
of Gradle plugin to avoid troubles of loading a freshly built plugin.
This also allows to have a granular dependencies: we don't rebuild klib
if we changed a lowering in a compiler backend, but we do rebuild it if
we changed IR serialization algorithm.
2019-12-25 13:44:57 +03:00
Ilya Chernikov
354be2b14f
[minor] Change expression evaluation cli argument to -Xexpression
2019-12-11 12:20:49 +01:00
Alexander Udalov
fd627603a0
Refactor CompilationErrorHandler
...
It only had one implementation THROW_EXCEPTION, inline it everywhere
with a call to a static method
2019-12-03 10:48:34 +01:00
Ilya Chernikov
3cae90dd26
[minor] fix source root creation from imported scripts:
...
make the usages of KotlinSourceRoot consistent everywhere
2019-12-02 16:46:55 +01:00
Ilya Chernikov
f2a4a835e7
Improve script cli diagnostics
2019-12-02 16:46:55 +01:00
Ilya Chernikov
531ff92791
Implement support for expression evaluation in jvm cli compiler
2019-12-02 16:46:54 +01:00
Ilya Chernikov
b8034567ef
Change script definition lookup key from File to ScriptSource
...
to make it more generic and allow easier implementation fo the
non-file based scripts.
2019-12-02 16:46:54 +01:00
Ilya Chernikov
4439582d23
Remove unnecessary update of the source roots, simplify interface accordingly
...
The update became unnecessary after the packagePartProvider fix above.
2019-12-02 16:46:53 +01:00
Ilya Chernikov
a190ab260e
Load main-kts jar automatically from scripting plugin, if available
2019-12-02 16:46:52 +01:00
Georgy Bronnikov
1ed23d7c54
IR: reorganize IrProvider handling
...
Make DeclarationStubGenerator a subclass of IrProvider,
anticipating deserialization of IR structures for JVM_IR backend.
2019-11-27 20:02:27 +03:00
Natalia Selezneva
07b6dadbf0
Scripting: move additional classpath to the end of script classpath (KT-34626)
...
Do not add duplicated entries
Original script dependencies should go first
2019-11-27 11:08:44 +03:00
Natalia Selezneva
ca71b2fe90
Add script configuration dependencies to script classpath
...
It was missing during configuration refinement thought new scripting API and during loading script configuration on Gradle project import
Do not pass additional classpath to configuration classpath: this may only affects Gradle with New scripting API (because it isn't used from other places)
In additional classpath kotlin-compiler and kotlin-stdlib was passed and there is no needs for this during loading Script Definitions through new scripting API
^KT-34626 Fixed
2019-11-22 11:43:34 +03:00
Natalia Selezneva
72ef43f462
Show filePattern in settings for new script definitions if present
2019-11-22 11:43:32 +03:00
Alexander Udalov
608449f41d
IR: introduce StubGeneratorExtensions for ExternalDependenciesGenerator
...
This is a refactoring to simplify the API of
ExternalDependenciesGenerator and to constrain future additions of
platform-specific stub generator extensions.
2019-11-20 15:16:57 +01:00
Anatoly Nikitin
81e2e119e2
Fix propagation of dependency resolution failure reports during script compilation
2019-11-14 08:38:50 +01:00
Ilya Chernikov
9aaf08de08
Fix equality for the KtFileScriptSource
2019-10-29 20:44:18 +01:00
Vyacheslav Gerasimov
38ea5a85a3
Build: Add maven publication for Kotlin plugin artifacts
2019-10-24 17:06:19 +03:00
Vladimir Dolzhenko
fa0398ffd3
Fix readAccess in ScriptExtraImportsProviderExtension on checking isScript
...
#EA-214435 Fixed
2019-10-21 17:18:24 +02:00
Jordan Demeulenaere
158f7f1cd7
Avoid PsiFile searching when resolving imported scripts descriptors.
2019-10-18 13:17:28 +03:00
Ilya Chernikov
1f46e60153
Implement samWithReceiver support for scripts when ...
...
it configured from script compilation configuration
#KT-34294 fixed
2019-10-11 17:43:50 +02:00
Ilya Chernikov
2568804eaa
Instruct platform code to use NIO2 always
...
since we're not always use jna (means that we can get warnings about missing jna libs)
and according to the IDEA team, NIO2 works well enough to rely on it
2019-10-11 17:43:49 +02:00
Ilya Chernikov
54caf4bf16
Add resolving from classloader to REPL pipeline
2019-10-10 17:43:30 +02:00
Ilya Chernikov
2219b950f1
Implement resolve top-level functions and props from classloader
...
#KT-33892 fixed
2019-10-10 17:43:29 +02:00
Ilya Chernikov
7b93970ce2
Use default scripting host configuration if not provided
2019-10-10 17:43:27 +02:00
Roman Artemev
6f2768e774
[JS SCRIPT] Use new dependency resolver in script/js subsytem
2019-10-10 12:52:06 +03:00
Roman Artemev
c0f279811e
[JS SCRIPT] refactor js script infrastructure
...
- Implement proper script compiler proxy to correctly handle script and its closed-world dependencies
- Clean up zoo of JsScriptCompilers
2019-10-10 12:52:06 +03:00
Vitaliy.Tikhonov
f59e393e37
[CLI] add support running scripts in js compiler, extract common code with jvm part
2019-10-10 12:52:06 +03:00
Vitaliy.Tikhonov
50c08b25d3
[SCRIPTING] create extension for scripting in JS and extract common code with JVM part
2019-10-10 12:52:06 +03:00
Vitaliy.Tikhonov
c6c3d2de9e
[JS SCRIPTING] create tests for repl
2019-10-10 12:52:06 +03:00
Vitaliy.Tikhonov
62885ba497
[JS SCRIPTING] create compilers for scripting
2019-10-10 12:52:06 +03:00
Vitaliy.Tikhonov
240abdb750
[JS IR BE] update current lowerings for IrScript
2019-10-10 12:52:05 +03:00
Vitaliy.Tikhonov
d79279d8a5
[JS SCRIPTING] create CoreCompiler for scripting
2019-10-10 12:52:05 +03:00
Ilya Chernikov
b8258bfc71
Drop TestCaseWithTempDir usage from scripting compiler plugin tests
...
fighting with flaky tests
2019-10-03 12:24:50 +02:00
Ilya Chernikov
3fec15202f
[minor] fix source root creation from imported scripts:
...
make the usages of KotlinSourceRoot consistent everywhere
2019-10-03 12:24:50 +02:00