Some of IDEA services (like in `com.intellij/execution`) was copied,
because they are used in tests but jars with them compiled with
jdk 11 and we run our tests on jdk 8, so their bytecode can not
be read
This is only usedful for code splitting. The output .js file name
is provided by the build system during the module compilation.
It is desirable to keep the .js output file names same as in old BE,
but calculating those name during the klib -> js phase is tricky.
Thus the desired names are saved in the klib, and used later on.
By taking the instance of IrFactory either from SymbolTable, or passing
it from cli-js which depends on both ir.tree.impl and
ir.tree.persistent, and can choose the appropriate implementation.
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.
This is needed to provide ability for declaring new implementations of
test generators, based on existing infrastructure, which won't add
dependency on :compiler:tests-common
Also this commit removes implicit dependency on :compiler:tests-common
from :compiler:tests-common-new
All task inputs should be declared and separated from outputs produced
by it (e.g. node modules and js compile outputs) to make gradle test
distribution work
The main advantage of this is that we can use a newer and official build of V8.
Also, with new infra, we can use other JS engines.
Other changes:
* ScriptEngine API is simplified and documented.
* Introduce ScriptEngineWithTypedResult with typed `eval`, mostly for JsReplEvaluator and JsScriptEvaluator.
* J2V8 version is completely removed.
* Use new ScriptEngineV8 everywhere by default.
* System property `kotlin.js.useNashorn` switches to Nashorn in all tests.
Revert "[JS TESTS] Emulate failing of non-run tests"
This reverts commit 2fd69218
Revert "[JS TESTS] Don't run ES6 test on win & mac till j2v8 issue is fixed."
This reverts commit 08624165
Revert "[JS TESTS] Add EP to disable run test on specific platform"
This reverts commit 50162265
if it is called using parens and not by calling 'invoke' method.
Use underlying type when calling continuation constructor if suspend
function is method inside inline class.
#KT-43505 Fixed
#KT-39437 Fixed
inside 'create' if 'create' overrides 'create' from
BaseContinuationImpl. In other words, unbox the parameter if 'create'
accepts only one parameter.
#KT-43249 Fixed
#KT-43533 Fixed