Commit Graph

73 Commits

Author SHA1 Message Date
Ilya Gorbunov dceec89572 JS: Array.toString is const, Array.contentToString is shallow, Array.contentDeepToString is deep and self-reference aware
#KT-13582
2016-11-08 17:23:45 +03:00
Ilya Gorbunov f3da656d6e contentEquals, contentHashCode, contentToString: Add js implementation and tests
#KT-13582
2016-11-08 17:23:45 +03:00
Ilya Gorbunov 660dc94f7c Move Closeable to its usage, move internal Serializable to kotlin package in JS, introduce internal typealias in kotlin.io in JVM. 2016-11-07 21:39:36 +03:00
Ilya Gorbunov a895702730 Remove js classes that should not be there 2016-11-07 21:35:27 +03:00
Alexander Udalov e8fecea871 JS: drop Collections.max 2016-11-07 12:27:52 +03:00
Ilya Gorbunov bf56f04368 Simplify Kotlin.collectionsSort as it always being provided with MutableList. 2016-09-24 07:08:21 +03:00
Ilya Gorbunov 54a640d733 Cleanup: remove unused code from HashMap, remove commented out specialization intrinsics. 2016-09-24 07:08:21 +03:00
Ilya Gorbunov 5cd3417d4c Maps and sets: cleanup, simplify, refactor.
#KT-12386
2016-09-24 07:08:21 +03:00
Ilya Gorbunov 75069143c7 Rewrite ArrayList, AbstractList, AbstractCollection in kotlin.
AbstractList is imported from GWT.
#KT-12386
2016-09-24 07:08:21 +03:00
Alexey Andreev a9330057cc KT-8283: fix Kotlin.equals method to compare arrays by reference 2016-09-14 16:37:53 +03:00
Alexey Andreev 4ff2b62bc0 KT-12864: add Comparable interface to Enum metadata so that RTTI should handle is Comparable case correctly 2016-08-05 16:32:27 +03:00
Alexey Andreev 97605a97da KT-3008: multiple minor fixes after code review 2016-06-27 15:33:28 +03:00
Alexey Andreev 0cfacfa44a KT-3008 Merge JS runtime modules in one kotlin.js 2016-06-27 15:33:25 +03:00
Alexey Andreev 848d7f92fa KT-3008 Implement AMD, CommonJS and UMD wrappers. Compile stdlib and builtins modules into separate JS files and wrap them in UMD. 2016-06-27 15:33:24 +03:00
Alexey Andreev 95b78e18df KT-3008 Change the way how modules are referenced in JS 2016-06-27 15:33:23 +03:00
Alexey Andreev 6454613b51 JS/RTTI: in expressions like a as T when inferred type for a is S, where S <: T, don't generate type checking 2016-05-05 17:24:25 +03:00
Alexey Andreev 0f6a6a3ba4 JS/RTTI. Fix runtime checking against kotlin.CharSequence 2016-05-05 17:24:25 +03:00
Alexey Tsvetkov 9bb60b48b2 JS/RTTI. Fix run-time type checking against Comparable 2016-05-05 17:24:22 +03:00
Alexey Tsvetkov 3fd387d4a6 JS/RTTI: support unsafe casts
#KT-2670 fixed
2016-05-05 17:24:13 +03:00
Alexey Andreev 337078faf3 KT-11030 Unify concept of objects and companion objects. Fix order of initialization of nested objects. 2016-04-20 18:01:07 +03:00
Ilya Gorbunov ab68b49a70 Introduce RandomAccess to JS.
Make EmptyList support RandomAccess.
#KT-10794
2016-03-30 21:06:18 +03:00
Ilya Gorbunov 91f4cf0ebc Drop Progression<T> and its deprecated properties: start, end, increment.
Drop deprecated range extensions.
Make progression constructors private.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov 9c0f0cad70 Packages: move collections to kotlin.collections. 2016-01-22 05:54:38 +03:00
Ilya Gorbunov 9fbbc9db98 Packages: move Ranges, Progression, ProgressionIterators to kotlin.ranges and PrimitiveIterators to kotlin.collections. 2016-01-22 05:54:38 +03:00
Ilya Gorbunov f91c01919b kotlin.test: 'fail' returns Nothing, 'assertFails' returns Throwable (not nullable).
Js tests now fail at the first failed assertion.
#KT-10289 Fixed
#KT-10369 Fixed
2016-01-14 06:03:40 +03:00
Ilya Gorbunov 661e288362 Introduce 'step' property in progressions instead of 'increment' 2015-11-30 14:12:05 +03:00
Ilya Gorbunov 73e3a252d3 JS: ArrayList.addAll must return Boolean
#KT-7809
2015-11-25 17:19:00 +03:00
Ilya Gorbunov af9020a010 Update Range and Progression built-in implementations in js library.
No need to define special method mapping for js ranges/progressions.
Support progression companion objects' function fromClosedRange as intrinsic
2015-11-11 03:53:51 +03:00
Ilya Gorbunov 8bdd1e3246 Sorting optimizations: do not make excessive copies, introduce methods to sort the whole array.
#KT-9904 Fixed
2015-11-11 03:29:40 +03:00
Ilya Gorbunov 446cdc087d Optimizations in listOf and arrayListOf constructor functions.
Remove linkedListOf() from JS.
#KT-5703 Fixed
#KT-8519 Fixed
2015-10-16 18:28:43 +03:00
Ilya Gorbunov d860f335a3 JS: Make StringBuilder implement CharSequence and introduce secondary constructors. 2015-10-14 22:49:47 +03:00
Mikhail Glukhikh f8a356747e Stdlib rename: 'name' and 'ordinal' are now properties in Enum, same name functions are deprecated 2015-10-14 20:40:13 +03:00
Denis Zharkov 6322198a11 Revert 'isEmpty' transformation 2015-10-14 20:40:01 +03:00
Denis Zharkov 1c7fa42b86 Adjust js codegen and lib to 'charAt' -> 'get' transformation 2015-10-11 19:59:30 +03:00
Denis Zharkov 83b680935b Adjust js stdlib to isEmpty transformation 2015-10-10 12:29:14 +03:00
Denis Zharkov a0e9754edc Adjust js collections to size transformation 2015-10-07 08:46:33 +03:00
Ilya Gorbunov 6f71e54268 In-place array sorting in JS. 2015-08-27 00:07:56 +03:00
Sergey Mashkov 0e25a5ea82 JS: arrayToString should use toString() instead of direct join to handle nulls properly
#KT-8663 Fixed
2015-07-31 14:28:30 +03:00
Sergey Mashkov 2826f193dd AbstractCollection should use Kotlin.toString
#KT-8662 Fixed
2015-07-31 14:28:30 +03:00
Ilya Gorbunov b7829d8471 JS: Make js Error to be mapped to kotlin.Throwable, inherit Exception and Error from Throwable. 2015-07-24 04:32:03 +03:00
Zalim Bashorov 92457543bc JS backend: fix equality check for nullable types
* Generate simple check when compare with `null` literal.
* Use Kotlin.equals if type of receiver or argument is nullable.
* Don't call equals method if any of receiver or argument is null (at runtime, not only literal). For more information see KT-4356.

 #KT-7530 fixed
 #KT-7916 fixed
2015-06-03 23:09:16 +03:00
Ilya Gorbunov df6d4dc73f Implement some of missing AbstractList methods.
Make ListIterator to implement kotlin.ListIterator interface.
Add TODOs and UnsupportedOperationExceptions for members left to implement.
2015-05-24 05:04:06 +03:00
Ilya Gorbunov 315badd5d1 Restore native js functions: startsWith, endsWith, contains.
startsWith and endsWith implementation taken from MDN.
2015-04-01 23:05:52 +03:00
Ilya Gorbunov b10d869cd7 indexOf*, split, startsWith, endsWith: JS implementation 2015-03-31 02:24:35 +03:00
Zalim Bashorov 7668f44655 JS lib: added hasNext to Kotlin.ListIterator and fixed next.
#KT-6506 Fixed

Additionally made abstract AbstractList::get and AbstractCollection::size.
2014-12-29 19:15:32 +03:00
Zalim Bashorov 6c6ced2442 Minor in JS lib: avoid to use undefined literal which may be over overlapped. 2014-12-26 14:20:21 +03:00
Michael Nedzelsky 8074ab27ea JS backend: fix KT-6112 jsonFromTuples is broken
#KT-6112 Fixed
2014-12-18 18:10:26 +03:00
Ilya Ryzhenkov 828ba385ea Cleanup ordering, improve API 2014-12-16 17:33:20 +03:00
Alexander Udalov 93696ff9bd Make Array.indices extension property, move to stdlib
This is not something that needs to be intrinsified. Note that compiler
optimizations are still possible and the fact whether 'indices' is a member or
an extension is irrelevant to the optimizer
2014-11-17 15:20:44 +03:00
Michael Nedzelsky dd86823480 JS backend: compile some builtins to builtins.js instead of stdlib 2014-11-11 17:09:00 +03:00