Ilya Muradyan
d40ada5d07
[REPL] Fix syntax errors analysis and incompleteness detection
2021-03-29 18:36:49 +03:00
Ilya Chernikov
bcd7bc5fd7
Fix arguments processing with scriting with old backend by default
2021-03-24 21:26:57 +01:00
Ilya Chernikov
3e458a1efb
FIR: Add IncrementalPackagePartsProvider usage in cli...
...
also refactor IncrementalPackagePartsProvider and parents to simplify
usage
2021-03-24 21:24:18 +01:00
Ilya Muradyan
14d386223b
[REPL] Fix unresolved imports caching
...
Before this fix, if some imports were not resolved during compilation,
this result had been saved in caches, and this import couldn't been
resolved during following compilations even if it was added to the
module dependencies. This commit adds special handling of resolution
caches for the REPL compiler.
2021-03-24 13:35:33 +03:00
Ilya Muradyan
ae5fefce51
[REPL] Fix performance problem
...
Configuration updating was done incorrectly,
and it led to performance degradation.
2021-03-24 13:35:33 +03:00
Ilya Chernikov
7d07010785
Fix handling of lambdas in top-level destructuring declarations
2021-03-11 15:50:32 +01:00
Ilya Chernikov
10567d9a37
[minor] fix scripting test dependencies
2021-03-11 15:50:31 +01:00
Ilya Chernikov
ef01411d20
[minor] fix script util tests
2021-03-11 15:50:30 +01:00
Ilya Chernikov
375441832e
Implement REPL support in IR scripting
2021-03-11 15:50:30 +01:00
Ilya Chernikov
e9da385f7c
Implement property for passing argumens to isolated script compiler
2021-03-11 15:50:06 +01:00
Ilya Chernikov
43d7536a28
Protect scripts compilation from passing -Xuse-ir via configuration
...
as well as other options that require changes in the compilation setup
before compiler options from the configuration could be processed
2021-03-11 15:50:06 +01:00
Ilya Chernikov
bac6a7346e
Extend GeneratorExtensions with previous script, implemt it for JS REPL
...
also refactor JS REPL for better compatibility with the generic
REPL/scripting infrastructure
2021-03-11 15:50:01 +01:00
Ilya Chernikov
4c6b5ff0b8
Implement IR backend support in scripting tests, enable for some tests
2021-03-11 15:49:44 +01:00
Alexander Udalov
566f97ae3e
JVM IR: remove dependency of 'backend.jvm' on 'psi2ir', 'ir.serialization.jvm'
...
Add a new module 'backend.jvm.entrypoint' which depends on psi2ir and
contains code that runs psi2ir + JVM IR backend with serialization
implementations.
Hopefully this will allow to compile these modules in parallel and
reduce the build time.
2021-03-05 20:46:33 +01:00
Alexander Udalov
addabae8d2
IR: move frontend-dependent code into implementations in psi2ir
2021-02-24 19:07:38 +01:00
Alexander Udalov
d991a3e40f
IR: simplify initialization cycle of TypeTranslator/ConstantValueGenerator
2021-02-24 19:07:38 +01:00
Alexander Udalov
ca5a35b4b3
Move CompilerEnvironment from 'frontend' to 'cli'
...
This is needed in order to have a single convenient place where to
register frontend services implemented _outside_ of the 'frontend'
module, such as the control flow analysis, extracted to a separate
module in a subsequent commit.
2021-02-24 17:17:03 +01:00
Alexander Udalov
dbadd5846a
Add test for script flag in kotlin.Metadata
...
It passes at the moment because the test uses old backend, but the
required behavior is not yet supported in JVM IR, and it'll need to be
fixed.
2021-02-18 12:36:54 +01:00
Ilya Chernikov
79b4b18e25
[minor] fix warnings in the script compiler and tests
2021-02-10 08:32:11 +01:00
Ilya Chernikov
ef4fa3381d
Pass provided script configuration to refining code
...
when script compilation configuration refinement
happening during parsing, the updated configuration
passed to the script compiler/REPL compile function
is now used.
#KT-44580 fixed
2021-02-09 15:22:55 +00:00
Roman Artemev
bf67308cc2
[KLIB] Use IrMessageLogger in klib linker to report errors
2021-02-02 12:05:35 +03:00
Roman Artemev
ba5193870e
[IR] Drop unused language version settings parameters from DependenciesGenerator
2021-02-02 12:05:34 +03:00
Dmitriy Novozhilov
0769157a16
Revert "Revert "Build: enable -Werror in stdlib/core/compiler/plugins modules""
...
This reverts commit 1300ec3e
2021-01-29 14:57:08 +03:00
Dmitriy Novozhilov
1300ec3e45
Revert "Build: enable -Werror in stdlib/core/compiler/plugins modules"
...
This reverts commit 3be62dfc
2021-01-28 13:19:34 +03:00
Dmitriy Novozhilov
cd93b2f39b
Use old backend in script compilation context
2021-01-28 13:19:30 +03:00
Dmitriy Novozhilov
7632c11745
Enforce using old backend in JvmCliReplShellExtension
2021-01-28 13:19:28 +03:00
Roman Artemev
cd9e341fa9
[JS IR] Support additional repositories in CLI (compiler part)
2021-01-26 19:23:22 +03:00
Alexander Udalov
3be62dfc89
Build: enable -Werror in stdlib/core/compiler/plugins modules
...
Exclude modules where there are still warnings in an explicitly declared
variable `tasksWithWarnings`.
Also remove "-progressive" from compiler arguments in modules which are
built with non-latest language version, as the warning about that leads
to an error with -Werror.
2021-01-13 19:34:24 +01:00
Ilya Chernikov
9a7d1948a7
Implement support for -Xdefault-script-extension cli option
2021-01-07 10:37:22 +01:00
Zalim Bashorov
0372dae3ce
[JS scripting] Remove usages of descriptor based APIs and proper support for callable references
2020-12-28 18:53:53 +03:00
Zalim Bashorov
7c5ea414b7
[JS IR] Use mappedNames in NameTable only for REPL
...
And throw exception for unsupported types in mapToKey
2020-12-24 20:03:21 +03:00
Ilya Chernikov
65cf941b9b
Remove assertion about dispatch receiver in scripts
...
#KT-42530 fixed
2020-12-21 09:43:44 +01:00
Alexander Udalov
691b20a685
JVM IR, FIR: set IR configuration key to true if FIR is enabled
2020-12-20 23:14:41 +01:00
Ilya Muradyan
65ce7cd0c2
Fix path for Windows in Fibonacci test
2020-11-28 09:44:06 +01:00
Mikhail Glukhikh
037c505069
Unbind general FirDiagnostic from PsiFile & PsiElement
2020-11-26 08:37:49 +03:00
Mikhail Glukhikh
1795c4f3e5
Implement common Diagnostic(Factory/Renderer) in related FIR classes
2020-11-26 08:37:46 +03:00
Ilya Gorbunov
b2b2629e79
Use new kotlin.io.path API in tests
2020-11-20 09:03:25 +03:00
Ilya Chernikov
af7102a586
Enable IR backend in script compiler
2020-10-30 12:57:42 +01:00
Ilya Chernikov
d7112a4500
Implement JVM IR support for scripts
2020-10-30 12:57:42 +01:00
Ilya Chernikov
db23460fd5
Implement proper script runtime exception rendering with tests
...
#KT-42335 fixed
2020-10-06 21:43:11 +02:00
Alexander Udalov
1d15a5547d
Suppress deprecation warnings related to scripting
2020-08-20 14:58:11 +02:00
Ilya Chernikov
0a9089bc72
Set correct base classloader for REPL evaluation
...
the contributed partial fix of KT-35925 set it to the system classloader
which brought in many cases the compiler CP into the evaluation and lead
to the problems like KT-40898. This fix set it to the extension/platform
classloader, which preserves (partial) fix of the KT-35925 and do not
bring the compiler jar into the REPL evaluation classpath.
#KT-40898 fixed
2020-08-19 15:17:07 +02:00
Alexander Udalov
cce55f1609
IR: add module ir.tree.impl, move main IR implementation there
2020-07-28 19:04:44 +02:00
Alexander Udalov
db4cbe7103
IR: use IrFactory in SymbolTable
2020-07-28 12:05:23 +02:00
Alexander Udalov
d3a34a8898
Psi2Ir: somewhat simplify Psi2IrTranslator API
...
Inline some methods only used once, deduplicate usages, rearrange
parameters, etc.
2020-07-22 22:38:21 +02:00
Ilya Chernikov
cd1bf563cd
Add error reporting on the options parsing errors in scripting
...
also report standard parsing warnings
also fix language version test, since it is not possible anymore
to use version 1.0
2020-06-19 13:20:58 +02:00
Mathias Quintero
f0bc52222d
Fix annotation construction with array literals
...
Turns out the issue happens to be that ArrayValue uses a list of values which needs to be translated to an array of the percise type before it is used by callBy
This also addresses handling of arguments after a vararg in an annotation
2020-06-19 13:20:57 +02:00
Efeturi Money
8cb4f59114
Explicitly handle array annotation args in scripting pre-processing
...
#KT-35411 fixed
2020-06-19 13:20:57 +02:00
Ilya Muradyan
743abea690
Don't create default importing scopes for REPL snippets
...
Default scopes should be created only once, for the first snippet.
All following snippets should not create new default importing scopes.
#KT-35651 fixed
2020-06-19 13:03:25 +02:00
Ilya Muradyan
94de114894
Support selective filtering of implicits for extensions resolution in REPL
2020-06-19 13:03:23 +02:00