Commit Graph

170 Commits

Author SHA1 Message Date
Zalim Bashorov 76fa6ad5c2 KJS: switch to using Nashorn instead of Rhino for JS backend tests 2017-04-26 13:07:30 +03:00
Alexey Andreev 38aecb14a2 Improve Number.hashCode implementation in JavaScript
Fix KT-13577
2017-04-26 11:52:54 +03:00
Alexey Andreev feb968e66d JS: fix generation of names for local declarations
Local declarations obtain names prefixed with outer function's name.
Only simple name (i.e. without mangling) of outer function used
in this case. This raises a problem in case of inline functions
with object literals. Currently, they are not copied, but exported
from module. Consider two inline functions foo with different
signatures, both declare object literals. In this case both literals
are exported as foo$f, so only one will be accessible from outside.
2017-04-24 18:39:04 +03:00
Alexey Andreev df46417cd7 JS: fix NPE in incremental compilation
Fix NPE when compiling project incrementally and a file which
is not recompiled contains try/catch statement
2017-04-24 18:39:03 +03:00
Alexey Andreev 1c2120d7e2 JS: avoid repeated export of the same declaration 2017-04-24 18:30:42 +03:00
Alexey Andreev 0058d2fdf6 JS: add some tests to ensure that AST metadata is correctly serialized and deserialized and visible to JS optimizer 2017-04-24 18:29:52 +03:00
Alexey Andreev 22f24d13b9 JS: transform coroutines before serializing AST to binary format 2017-04-24 18:29:49 +03:00
Alexey Andreev 02ca374dc9 JS: fix inlining in incremental compilation 2017-04-24 18:29:48 +03:00
Alexey Andreev c85108602a JS: add tests for recompilation of only some files in a project 2017-04-24 18:29:46 +03:00
Alexey Andreev f82f5d0471 JS: add tests for private external declarations 2017-04-24 18:29:13 +03:00
Alexey Andreev c1627e840b JS: use eval instead of js in tests to refer local declarations to avoid renaming by resolveTemporaryNames 2017-04-24 18:29:12 +03:00
Zalim Bashorov 5ef75e6e2b KJS: remove PackageTest.java and move actual files to box/ 2017-04-20 16:19:04 +03:00
Alexey Andreev b11e33901b Fix parsing of JavaScript number literals out of integer range
Fix KT-17219
2017-04-17 14:17:08 +03:00
Dmitry Petrov e0ebaac70c Perform additional checks on catch parameter declaration
KT-8320 It should not be possible to catch a type parameter type
KT-7645 Prohibit default value for `catch`-block parameter
2017-04-13 16:23:17 +03:00
Alexey Andreev 7077de02e7 Fix passing non-string value to print/println in node.js
See KT-15484
2017-04-11 16:15:25 +03:00
Alexey Andreev a6ca2906d8 JS: add tests for reflection against external classes 2017-03-07 10:46:08 +03:00
Alexey Andreev 723c9be5a0 JS: fix class literal expression with primitive classes. See KT-16545 2017-03-07 10:46:08 +03:00
Anton Bannykh 4c6b9b695c JS: mute some tests with extension functions in external declarations 2017-03-03 21:39:40 +03:00
Anton Bannykh 9e5ecc11b7 JS: fixed Double.NaN behaviour (KT-13610). 2017-03-02 14:29:50 +03:00
Alexey Andreev 66f5a12cc4 JS: fix translation of && and || operators when their RHS declare temporary variables. See KT-16350 2017-02-22 11:10:07 +03:00
Alexey Andreev 86d1c7b7ec JS: fix absence of temporary variable in secondary constructors. See KT-16377 2017-02-20 11:31:38 +03:00
Anton Bannykh 4c808e8691 JS: concat vararg arguments using Kotlin.concat and Kotlin.concatPrimitive functions in order to be binary compatible with (Kotlin PrimitiveArray -> JS TypedArrays) mapping. 2017-02-15 18:58:29 +03:00
Anton Bannykh ad313750e7 JS: Fixed lateinit property initialization 2017-02-13 14:56:50 +03:00
Anton Bannykh c7d4a4edf4 JS: test property inline through fake override 2017-02-09 15:46:06 +03:00
Anton Bannykh a74fffeac8 JS: companion object dispatch receiver translation fixed (KT-16160); imported function inlining fixed. 2017-02-08 09:21:18 +03:00
Anton Bannykh a2431f0d85 JS: fixed inlining functions called through inheritor ("fake" override) from another module (#KT-16144) 2017-02-08 09:19:50 +03:00
Alexey Andreev 0f049a90aa JS: prohibit nested classes, objects and enums in external interface. See KT-16012 2017-02-03 11:09:09 +03:00
Anton Bannykh 77aa685496 JS: char boxing 2017-01-30 16:31:44 +03:00
Zalim Bashorov 66fd566df0 KJS: fix inlining from modules with non valid identifier name 2017-01-27 23:13:53 +03:00
Ilya Gorbunov 3be1174824 Replace @native with external in tests 2017-01-27 01:29:15 +03:00
Ilya Gorbunov c00d684ece Fix deprecared API usages in test 2017-01-26 04:31:20 +03:00
Alexey Andreev ba65e58fdd JS: add checker to detect non-external declarations in files marked by JsModule or JsQualifier annotation 2017-01-25 13:52:19 +03:00
Alexey Andreev cc67f6c9f7 JS: add support of JsQualifier annotation. See KT-15905 2017-01-25 13:52:18 +03:00
Alexey Andreev aef7b83932 JS: fix toString in case of kotlin.Throwable 2017-01-25 13:52:17 +03:00
Alexey Andreev f34093db9f JS: make kotlin.Throwable = Error. See KT-15312 2017-01-25 13:52:13 +03:00
Alexey Andreev 51e5b5aac7 JS: allow to inherit external class from kotlin.Throwable. See KT-15336 2017-01-25 13:51:53 +03:00
Anton Bannykh 847ec9e550 JS: fixed subSequence in CharSequence descendants (KT-14035) + added support for function intrics in delegation 2017-01-25 12:59:53 +03:00
Alexey Andreev aedf8bd232 JS: replace noImpl with definedExternally in tests 2017-01-24 20:14:31 +03:00
Alexey Andreev 9aeba1d5cf JS: fix names in stdlib and tests WRT to new mangling algorithm 2017-01-24 20:11:29 +03:00
Alexey Andreev dcb8b7b92c JS: fix inlining of callable references 2017-01-24 20:09:30 +03:00
Alexey Andreev ac0df8eef9 JS: when recursive local function does not capture variables, give it name from top-level scope. See KT-15770 2017-01-24 12:25:23 +03:00
Ilya Gorbunov 4018d10bf6 Deprecate parseInt and parseFloat. Replace deprecated usages in tests.
#KT-4497
2017-01-24 07:22:51 +03:00
Anton Bannykh 07bb7ef4d3 JS: extension lambdas translated same as local lambdas (KT-13312 fixed) 2017-01-23 20:09:36 +03:00
Alexey Andreev 245f23e7c2 JS: fix translation of references to external nested classes in files marked with @JsModule. See KT-15797 2017-01-19 16:30:57 +03:00
Alexey Andreev af1b7c49b4 JS: insert dummy initializers for property that initialized on init block or in secondary constructors. See KT-8211 2017-01-19 13:20:24 +03:00
Alexey Andreev a927770935 JS: fix scope of function generated for primary constructor. See KT-15678 2017-01-19 13:09:59 +03:00
Alexey Andreev e6be418dd3 JS: prevent optimizer from removing access to dynamic property access. See KT-15278 2017-01-19 13:07:56 +03:00
Zalim Bashorov ca2930600a KJS: introduce $kotlin_test_internal$ to expose some helper functions in the tests 2017-01-18 14:42:40 +03:00
Zalim Bashorov d635d7859e KJS: remove obsolete kotlin.modules 2017-01-18 14:40:48 +03:00
Zalim Bashorov 6f56079f7e KJS: add external declaration for parseFloat; remove obsolete safeParseInt and safeParseDouble 2017-01-18 14:40:46 +03:00