Commit Graph

54 Commits

Author SHA1 Message Date
Michael Nedzelsky 53f0e6dcd2 JS backend: remove dangerous package, correct translation for call, assignments, binary operations, support try...catch as expression
#KT-5576 Fixed
 #KT-5594 Fixed
 #KT-3166 Fixed
 #KT-5545 Fixed
 #KT-5594 Fixed
 #KT-5258 Fixed

JS backend: fix KT-4879: extra side effect when use when in default arguments

 #KT-4879 Fixed

JS backend: improve and fix WhenTranslator, fix order of evaluation for condtitions, fix KT-5263 (JS: extra tmp when initialize val in when by expression with if)

 #KT-5263 Fixed
2014-08-22 02:17:00 +04:00
Michael Nedzelsky 629d9a275b JS backend: fix dangling else issue in generated code for JsToStringGenerationVisitor
JS backend: fix KT-5253: when with if inside

 #KT-5253 Fixed
2014-08-22 02:16:56 +04:00
Michael Nedzelsky bfa8fea5b8 JS backend: move patternMatching tests to expression/when 2014-08-22 02:16:53 +04:00
Michael Nedzelsky 12db8f1551 JS backend: support for explicit delegation
#KT-4479 Fixed
2014-08-09 10:24:02 +04:00
Zalim Bashorov fe4a4e712a JS backend: native trait exists only at compile time. 2014-08-08 21:26:43 +04:00
Zalim Bashorov ac4ffd7d2c JS backend: fixed accessing to nested native "elements".
#KT-4298 fixed
2014-08-08 21:26:43 +04:00
Michael Nedzelsky 145aa5a276 JS backend: tests for reflection support 2014-07-30 17:50:16 +04:00
Michael Nedzelsky cc98664832 JS backend: support for reflection 2014-07-30 17:50:13 +04:00
Evgeny Gerashchenko 90b065e82b += tests fix 2014-07-29 12:06:36 +04:00
Zalim Bashorov ae4bac06b2 Merge pull request #500 from MichaelNedzelsky/kt5320
JS Backend: fixed associativity of JsCondition(ternary operator).

Fixed wrong code generation when use JsCondition(ternary operator) as condition of simple `if`(JsCondition).

#KT-5320 fixed
2014-07-22 15:17:43 +04:00
Michael Nedzelsky 9456833a35 JS Backend: #KT-5320 Fixed (generated code for ternary operator) 2014-07-22 13:08:31 +04:00
Michael Nedzelsky ee67546f8f JS backend: fix kt-5345 (Type mismatch on Int / Float division) 2014-07-22 12:43:03 +04:00
Zalim Bashorov 14ab3c4de1 JS stdlib: allowed use null as key and value in Map implementations. Added tests for using null in Set and Map implementations. 2014-07-16 21:35:11 +04:00
Alexey Tsvetkov dd3dbe5b10 JS backend: _commonFiles/ for common kotlin files in testData/ and every test dir 2014-07-11 22:36:20 +04:00
Zalim Bashorov 28228d23b1 JS stdlib: added missed constructors for HashSet, LinkedHashSet, HashMap and LinkedHashMap. 2014-06-26 16:33:14 +04:00
Zalim Bashorov 444932d4c1 JS backend: fixed wrong NPE when casting to generic type. 2014-06-26 14:55:56 +04:00
Ilya Ryzhenkov 1842d30567 Implement equals for NumberRange in JavaScript. 2014-06-24 23:49:16 +04:00
Ilya Ryzhenkov 516bae17d7 StringBuilder builder and appendln 2014-06-24 23:49:15 +04:00
Zalim Bashorov 79b7b1c447 JS stdlib: added test for using special names(i.e. Object.prototype members) in Maps and Sets. Fixed the support special names in PrimitiveHashMap. 2014-06-20 16:42:43 +04:00
Zalim Bashorov 6f5c88c21f JS stdlib: added LinkedHashMap abd LinkedHashSet. 2014-06-20 16:42:43 +04:00
Zalim Bashorov a2584dc6d7 JS backend: added entrySet to HashMap implementations and fixed iteration over maps. 2014-06-20 16:42:43 +04:00
Evgeny Gerashchenko b76a9e8e27 Merge remote-tracking branch 'origin/master' into incremental 2014-06-19 15:49:33 +04:00
Evgeny Gerashchenko aa41ae09ed Merge remote-tracking branch 'origin/master' into incremental 2014-06-19 11:43:59 +04:00
Zalim Bashorov 865880f196 Minor in JS backend: added missed test case -- when inside when w/o braces. 2014-06-18 23:18:23 +04:00
Michael Nedzelsky 209315baad JS backend: fix translation when statement -- now WhenTranslator returns JsBlock instead of hackish adding statements to context block.
It fixed the compiler crashing when translating `for`/`when`/`if` with `when` statement(KT-5234) and KT-5058.

 #KT-5234 fixed
 #EA-57346 fixed
 #KT-5058 fixed
2014-06-18 21:20:28 +04:00
Alexander Udalov 751f062f23 Add *Range.isEmpty(), *Progression.isEmpty() 2014-06-18 20:22:24 +04:00
Alexander Udalov d78d4bc44c Disallow extension properties with backing fields
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00
Zalim Bashorov 399c9c1175 JS backend: fixed compiler crash when use compareTo in infix call.
#EA-54661 fixed
2014-05-08 19:57:28 +04:00
Zalim Bashorov 898275e658 JS backend: added tests for infix calls.
#KT-3998   in progress
 #EA-56241 in progress
2014-05-08 19:57:28 +04:00
Zalim Bashorov d02e4bd1ec Minor in JS backend: added test for the overriding in data class. 2014-05-06 15:45:28 +04:00
Peter Rybin ab81d2e261 Supporting data class for JS backend 2014-05-06 15:45:28 +04:00
Ilya Ryzhenkov aee199b5b0 Add reverse() function to js version of StringBuilder 2014-04-24 12:59:40 +04:00
Ilya Ryzhenkov 962a738f1e Fix js RangeIterator and NumberProgression. 2014-04-24 12:59:40 +04:00
Zalim Bashorov 336ff43b26 JS backend: - test both versions of Set(Complex and Primitive)
- added size in PrimitiveSet
 - fixed contains in PrimitiveSet

 #KT-4796 fixed
2014-04-02 17:50:40 +04:00
Alex Tkachman 371dfc6ec4 avoid unnecessary null checks when receiver of '!!' or 'as' operator is not nullable 2014-03-29 21:28:00 +03:00
Andrey Breslav 2a724a6eb4 Filename case fixed 2014-03-20 11:28:32 +04:00
Svetlana Isakova f311da3f8f Supported invoke on expressions on js backend 2014-03-20 10:06:00 +04:00
Zalim Bashorov 9bc5cc60ee JS stdlib: added some JSDoc annotations to handwritten js files. 2014-03-19 17:36:44 +04:00
Zalim Bashorov 31d8a75b1a Minor in JS backend: moved the Kotlin.modules declaration from koltin_lib.js to koltin_lib_ecma5.js 2014-03-19 17:36:43 +04:00
Zalim Bashorov 71bfa51ab2 JS backend: fix access to class object members from containing class with implicit receiver.
#KT-4130 Fixed
2014-03-18 13:09:49 +04:00
Zalim Bashorov 8fd38e261f JS backend: fix access to enum entries by implicit receiver and explicit this. 2014-03-18 13:09:47 +04:00
Zalim Bashorov 7b503bbe6f Minor in JS backend: added regression tests.
#{KT-2219, KT-2470, KT-2507, KT-2222, KT-2995, KT-2221} Obsolete
2014-03-13 22:57:41 +04:00
Zalim Bashorov 206be96509 JS backend: added tests which pass an extension lambda to native code and visa versa.
Added workarounds in some tests because Rhino wrongly implicitly converts first parameter of `Function.call` to `Object`. But it's contradicts to ES5 specification(par. 15.3.4.4).

(#KT-4238, #KT-4345) In progress
2014-03-13 14:17:09 +04:00
Alexey Tsvetkov 21f87350b9 JS backend: added tests for KT-4159. 2014-03-12 19:01:55 +04:00
Zalim Bashorov 209f7e8d51 JS backend: minor -- dropped temporary hack after KT-4517 fixed. 2014-03-11 20:05:40 +04:00
Zalim Bashorov 344ce6c095 JS backend: fixed name clash between public function w/o parameters and non-public function with same name. 2014-03-11 20:05:39 +04:00
Zalim Bashorov 3455f6adcd JS backend: minor -- dropped some no longer necessary code. 2014-03-11 20:05:37 +04:00
Zalim Bashorov 434a6ed6e2 JS backend: minor -- fix typo in fromFakeClasses.kt 2014-03-11 20:04:05 +04:00
Zalim Bashorov 43d9c383ff JS backend: don't use objects as definition place. 2014-03-11 20:04:05 +04:00
Zalim Bashorov fb7165c7fa JS backend: added regression tests for closure bugs.
#KT-4236 In Progress
#KT-4600 In Progress
#KT-4237 In Progress
#KT-4207 In Progress
#KT-4218 In Progress
#KT-4263 Obsolete
2014-03-11 20:04:03 +04:00