Vitaly
18bd80eb29
[JS BE] add JsClass node to ast
2020-05-27 00:32:54 +03:00
Alexander Udalov
8dd04789ad
Remove obsolete InlineStrategy
...
Replace corresponding metadata property in js.ast with Boolean. This
allows to get rid of dependency of 'js.ast' on 'frontend'.
2020-03-28 21:30:03 +01:00
Zalim Bashorov
83e85b3ec8
[JS AST] Add single line comment node
2019-11-21 23:51:08 +03:00
Zalim Bashorov
4e3a2a0b3e
[JS AST] Don't generate a new line after try and if-then blocks
2019-11-21 23:51:08 +03:00
Svyatoslav Kuzmich
7592048437
[JS] Support typeOf
2019-09-25 18:12:55 +03:00
Roman Artemev
46b98a1e98
[JS BE] Make sourceMap generation more precise
...
- Don't produce mapping for closing bracket in case of expressionBody
- Map Kt*Function declaration into corresponding js fun declaration
- Update test data & add new test
2019-07-24 18:56:40 +03:00
Svyatoslav Kuzmich
685597d20a
[JS IR BE] Codegen class model refactorings
...
Reduce JsScope usage
2019-07-01 18:55:41 +03:00
Anton Bannykh
fadeac083f
JS: fix reified T::class for primitive T (e.g. Int) (KT-32215 fixed)
2019-06-28 13:49:22 +03:00
nikita.movshin
65244b4bea
Update copyright.
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
Update only 2 lines copyright.
2019-04-23 20:09:22 +03:00
Anton Bannykh
c6d177b467
JS: don't remove imports only used for fake overrides (KT-31007 fixed)
2019-04-17 11:41:47 +03:00
Anton Bannykh
d7499363bc
JS: review fixes
2019-02-14 15:14:28 +03:00
Anton Bannykh
52b705e7ae
JS: Fix local aliases
...
Local aliases can be copied as-is to a different fragment now. Before this change we would have had to extract the local alias tag (if any) from the source fragment and add to the destination fragment name bindings.
2019-02-14 15:14:28 +03:00
Anton Bannykh
a30c7fbee1
JS: Support imported wrapper serialization
2019-02-14 15:14:28 +03:00
Anton Bannykh
2cbdc7ecb0
JS: store whole JsImportedModule's in the module local alias
...
Module references were stored as plain JsName's. When inlining a function
from one fragment to another, those references should be re-interpreted
in terms of the destination fragment. Storing the whole module information
makes that much easier.
2019-02-14 15:14:28 +03:00
Anton Bannykh
a0ff581a2f
JS: refactoring
2019-02-14 15:14:28 +03:00
Anton Bannykh
c65383fa3f
JS: postpone JS AST merging
2019-02-14 15:14:28 +03:00
Anton Bannykh
3529114913
JS: incremental translation of tests and main fun invocation
2019-02-14 15:14:28 +03:00
Anton Bannykh
0397af79b4
JS: convert from java to kotlin JsProgramFragment
2019-02-14 15:14:28 +03:00
Mikhael Bogdanov
a122cba862
Switch Kotlin project to jvm-target 1.8
...
#KT-29405
2019-01-31 07:43:05 +01:00
Sergey Rostov
0f2fb4ff82
Build: remove intellijCore/annotations.jar usages
2019-01-28 13:43:08 +03:00
Sergey Rostov
883970fadb
Add explicit dependencies to nullable annotations
2018-12-26 09:07:06 +03:00
Alexander Udalov
f868964e25
Fix most unchecked/deprecation javac warnings in compiler modules
2018-10-17 18:39:49 +02:00
Anton Bannykh
4e496cf2b2
JS: don't throw AssertionError from RedundantCallElimination
...
Also mark JS `call` function to avoid removing a custom `call`
2018-08-23 14:44:40 +03:00
Roman Artemev
c62e4b4fcf
[JS IR BE] Support coroutines
...
* Move FinallyBlockLowering to common part
* Fix catching of dynamic exception
* Fix bridges for suspend functions
* Disable explicit cast to Unit
* Run lowering per module
* Update some test data
2018-08-08 18:33:39 +03:00
Roman Artemev
0c6256d003
Fix initialization order
...
* put inheritance code in the beginning
* put top-level initializer after any declaration
2018-07-24 20:16:39 +03:00
Svyatoslav Kuzmich
a7a695f203
KJS: Add JsLoop AST interface and corresponding visitors
2018-07-03 19:51:58 +03:00
Alexey Tsvetkov
701f96998a
Remove unused SourceInfo interface
2018-04-19 05:18:54 +03:00
Alexey Tsvetkov
8a82c1618c
Use Plugins DSL in Kotlin Gradle scripts
...
When plugins DSL is used, there is no need to
manually generate typesafe accessors for extensions and
conventions (by running `./gradlew kotlinDslAccessorsSnapshot`).
2018-03-26 16:09:29 +03:00
Yan Zhulanow
34d1611ed4
Add Pill support to compiler and IDE modules
2018-03-02 03:15:17 +03:00
Ilya Chernikov
7e21573cf4
Convert the rest of the project to intellij repo prepared in buildSrc
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a4f28cd94f
Make all dependencies to idea sdk intransitive
2018-01-30 17:06:11 +03:00
Ilya Chernikov
8266777bd5
Convert js modules to intellij plugin
2018-01-30 17:06:07 +03:00
Alexey Andreev
71b1591044
JS: replace suspend inline metadata after inlining
...
This fixes some issues on coroutine inlining, see tests
2017-11-27 17:01:18 +03:00
Alexey Andreev
f8e7861ce6
JS: add partial tail-call optimization for suspend functions
2017-11-27 17:01:17 +03:00
Alexey Andreev
1be86e05ae
JS: optimize range check for int and long
...
See KT-2218
Additionally, fix temporary variable elimination for && and ||
2017-11-03 17:35:17 +03:00
Alexey Andreev
cb0482f53e
JS: fix crash when js function contains for statement w/o initializer
...
Fix KT-20898
2017-10-23 17:19:49 +03:00
Alexey Andreev
b781661279
JS: fix copying functions with default arguments across interfaces
...
Copy function to super interface first, then copy from interface
to class. Add interface set to JsClassModel for this purpose.
See KT-20625
2017-10-19 13:10:47 +03:00
Anton Bannykh
ac508a510e
JS: Support isInitialized intrisic for lateinit properties
2017-10-11 19:23:49 +03:00
Alexey Andreev
c15847a957
JS: support non-local return from secondary constructor
...
See KT-14549
2017-10-04 12:00:53 +03:00
Alexey Andreev
bad50c03a7
JS: support cross-module inlining of suspend functions
...
See KT-18063
2017-09-29 14:32:49 +03:00
Ilya Chernikov
3aabeca191
Fix maven and android tests after modularizing and rebasing
2017-09-20 11:51:21 +02:00
Alexander Podkhalyuzin
3f8170d369
Clean idea files generated on the gradle import, add them to .gitignore
2017-09-19 23:58:27 +02:00
Ilya Chernikov
deda50dbbb
Continue switching projects to improved dsl: sourceSets and test running
2017-09-19 21:37:26 +02:00
Ilya Chernikov
61dfb75e0e
Implement Gradle Kotlin DSL build
2017-09-19 21:37:06 +02:00
Alexey Andreev
37fa45dc34
Add mechanism for type coercion in JS
...
Use it for char boxing/unboxing and unit materialization.
Possible to use for other purposes, for example, to add type checks
to dynamics.
See KT-18793, KT-17915, KT-19081, KT-18216, KT-12970, KT-17014,
KT-13932, KT-13930
2017-09-11 14:34:34 +03:00
Alexey Andreev
ff0efe59f6
JS: fix error in generation of if/else statements in some cases
...
See KT-19495
2017-09-08 10:56:49 +03:00
Alexey Andreev
1260146d25
Use local aliases for char boxing and unboxing in JS BE
2017-09-04 15:33:12 +03:00
Alexey Andreev
7646c2fc72
Use local aliases for Kotlin runtime functions in JS BE
2017-09-04 15:33:11 +03:00
Alexey Andreev
f2b2e20331
Minor cleanup in JS backend
2017-09-04 15:33:10 +03:00
Alexey Andreev
901346243d
JS: fix inlining of function that calls functions from other modules
2017-09-04 15:33:08 +03:00