Commit Graph

26 Commits

Author SHA1 Message Date
Alexey Andreev 8d2eb344ff JS: add AST deserializer 2017-04-24 18:29:18 +03:00
Alexey Andreev 83df21329f JS: add protobuf declarations for JS AST 2017-04-24 18:29:17 +03:00
Alexey Andreev df4c7048d0 JS: do not create duplicate local variables for packages 2017-04-24 18:29:16 +03:00
Alexey Andreev ee1e0fc0b1 JS: minor optimization: when attempting to set default value to MetadataProperty, remove value from underlying map 2017-04-24 18:29:11 +03:00
Alexey Andreev 9e0a06a4aa JS: refactor JsScope, JsName and related things, since it's became unnecessary to track scopes and declaration order of temporary JsName's 2017-04-24 18:29:09 +03:00
Alexey Andreev 714cb60375 JS: support bridges and copying of non-abstract methods of interfaces in new pipeline 2017-04-24 18:29:07 +03:00
Alexey Andreev 83140bc5f7 JS: support inlining in new pipeline 2017-04-24 18:29:07 +03:00
Alexey Andreev 6711db86ee JS: reworking translator pipeline to generate multiple fragment each for source file 2017-04-24 18:29:05 +03:00
Alexey Andreev e909ef984c JS: prepare all necessary abstractions for new pipeline 2017-04-24 18:29:04 +03:00
Zalim Bashorov c021af0fef KJS: fix non-local return inside catch block 2017-04-19 20:20:21 +03:00
Alexey Andreev 7e6df03421 Fix improper handling of coroutine interceptors
Don't use coroutine facade in following cases:
* When calling coroutine functions in non-suspend mode (i.e.
  suspend flag is either false or skipped).
* When passing continuation from suspend function to suspend function.

Use facade only for corresponding intrinsics.
Reason: interceptor should not be called on each suspend function
invocation, it should be called after resume from innermost
suspend function.

Fix KT-17067. The example provided with the issue is very similar to
dispatchResume.kt which passes after these changes.

Add test to prove that KT-17446 is no more reproducible.
2017-04-18 11:22:18 +03:00
Alexey Andreev 6ba3812582 Fix inlining of tail call suspend function
When inlining tail-call suspend function to regular
suspend function in JS BE, don't forget to insert suspension point.
See KT-16951
2017-03-28 11:32:45 +03:00
Anton Bannykh 77aa685496 JS: char boxing 2017-01-30 16:31:44 +03:00
Alexey Andreev f34093db9f JS: make kotlin.Throwable = Error. See KT-15312 2017-01-25 13:52:13 +03:00
Alexey Andreev 0a9c536c01 JS: make defensive copy of argument list in JsInvocation and JsNew constructor 2017-01-25 13:51:53 +03:00
Alexey Andreev bf55744e64 JS: fix translation of safe calls if suspend functions. See KT-15892 2017-01-24 20:11:55 +03:00
Alexey Andreev dcb8b7b92c JS: fix inlining of callable references 2017-01-24 20:09:30 +03:00
Zalim Bashorov 6b38b5f5ba KJS: implement array factory function intrinsics in Kotlin 2017-01-18 14:40:42 +03:00
Denis Zharkov c479aa7d65 JS: simplify how suspend functions inlined 2017-01-14 13:24:53 +03:00
Denis Zharkov 2fcc2bbae0 JS: allow to call suspend function from any position within another suspend function 2017-01-14 13:24:53 +03:00
Alexey Andreev 2907eafa18 JS: make functions called call to inline properly. See KT-7004 2017-01-12 18:12:39 +03:00
Zalim Bashorov 316da8331f KJS: relocate com.google.dart.compiler -> org.jetbrains.kotlin 2017-01-09 17:14:19 +03:00
Zalim Bashorov cb4c3ed686 KJS: rename "js.dart-ast" module to "js.ast" 2017-01-09 17:13:23 +03:00
pTalanov 8bfa313ad4 switched to using dartc.jar
deleted module js.ast
2012-02-27 18:49:55 +04:00
pTalanov 8d6525f23f initial changes 2012-02-27 15:30:52 +04:00
Pavel Talanov 6646278a60 before merge 2012-02-24 17:20:23 +04:00