Commit Graph

56 Commits

Author SHA1 Message Date
Alexey Tsvetkov 5449cea6b7 Make Array type parameter T non-reified 2015-10-14 18:36:53 +03:00
Denis Zharkov 3f5498e9f5 Transform some builtin methods
1. CharSequence.charAt -> get
2. ML.remove(Int) -> removeAt,
3. MC.remove(Any?) -> MC.remove(E)
2015-10-11 19:57:21 +03:00
Denis Zharkov cfc9d19825 Transform Collection.isEmpty and Map.Entry.key/value to properties 2015-10-10 12:29:14 +03:00
Denis Zharkov d27d3950fb Refine signature for Collection.contains/containsAll 2015-10-09 14:40:33 +03:00
Yan Zhulanow d28ecc2316 Mark builtins and stdlib functions with 'infix' 2015-10-07 15:49:29 +03:00
Denis Zharkov 9d087ce5bd Convert size() functions in builtins to properties
Just like it will work itself out :)
2015-10-06 23:56:17 +03:00
Mikhail Glukhikh 4b9d136ced identityEquals is deprecated 2015-09-25 20:00:54 +03:00
Yan Zhulanow 1139a8dd0e Mark builtins and stblib functions with 'operator' 2015-09-25 19:20:18 +03:00
Alexander Udalov 29abf94327 Prohibit clone() for enum classes
#KT-8972 Fixed
2015-08-28 21:11:02 +03:00
Ilya Gorbunov ecba29a08a Reword contract of Collection's removeAll and retainAll to emphasize that the criteria to remove or retain element is the containment in the specified collection.
Collection.remove(element): clarify docs.
2015-07-17 10:52:38 +03:00
Ilya Gorbunov 1605027b19 Change return type of Char plus Int and Char minus Int binary operations.
JS: Remove unnecessary intrinsic binary operation patterns, adjust intrinsics for binary operations with char.
2015-07-04 04:47:00 +03:00
Ilya Gorbunov 2c4db42319 Drop deprecated char binary operations. 2015-07-04 04:45:59 +03:00
Ilya Gorbunov 84ca26719d Deprecate meaningless or vague-defined operations with Char operands.
Change expected test output.
2015-05-27 00:58:35 +03:00
Ilya Gorbunov c6abf75856 Do not generate primitive type definition for Char, place it in a file beside. 2015-05-27 00:58:24 +03:00
Ilya Gorbunov f18b9caa8d JS: Provide MIN_VALUE and MAX_VALUE member constants for Int, Long, Short and Byte companion objects.
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Int, Long, Short and Byte companion objects.
2015-05-17 17:26:25 +03:00
Dmitry Jemerov 2a99f757c4 replace 'trait' keyword with 'interface' in library code 2015-05-12 17:07:46 +02:00
Pavel V. Talanov ed218c473a Get rid of 'class object' usages in code and builtins
Replace some comments and library usages as well
2015-03-25 18:28:00 +03:00
Pavel V. Talanov 2a6facaef6 default -> companion: default object -> class object in project code, builtins and libs code 2015-03-17 15:46:48 +03:00
Dmitry Jemerov 32072d0a4f More standard library documentation. 2015-03-12 16:52:20 +01:00
Dmitry Jemerov d3b8464722 fix test: regenerate Primitives.kt 2015-03-11 15:18:38 +01:00
Dmitry Jemerov 07381b765f rename Numbers.kt to Primitives.kt as it now contains Char which is not a number 2015-03-11 12:40:39 +01:00
Dmitry Jemerov 89398796c6 generate also the Char class 2015-03-11 12:40:31 +01:00
Pavel V. Talanov 8fef31ee5b Replace 'class object' with 'default object' in builtins 2015-03-10 18:07:56 +03:00
Dmitry Jemerov 1c426fada2 generate the code of Numbers.kt 2015-03-06 18:02:06 +01:00
Nikolay Krasko 1f79e0905f Intrinsic default objects implementation 2015-03-05 01:30:37 +03:00
Dmitry Jemerov 2cc291efdb Standard library documentation continued. 2015-03-03 11:20:30 +01:00
Dmitry Jemerov cec1b94664 provide documentation for generated built-in classes 2015-02-27 14:19:39 +01:00
Andrey Breslav 0e972acf8c == turned into a safe-call 2015-02-10 06:55:46 +01:00
Dmitry Jemerov 7827bbf64b Standard library documentation updates. 2015-02-09 19:19:29 +01:00
Alexander Udalov 21b2fa2509 Update copyrights to 2015 2015-01-13 01:15:18 +03:00
Alexander Udalov 11ff051924 Regenerate built-ins, keywords, operations map 2015-01-03 00:19:03 +03:00
Ilya Ryzhenkov 47da114599 Document String built-in class. 2014-12-16 17:33:25 +03:00
Denis Zharkov d345ba05dd Added inline function "Array" into stdlib
It has the same signature and semantics as Array constructor had
Also made Array constructor private and accepting no arguments
2014-12-11 16:04:03 +03:00
Alexander Udalov 8dae1b62dd Add CharSequence.subSequence
This is done primarily for JVM interoperability, otherwise it's impossible to
inherit from CharSequence there. On JS subSequence at the moment just invokes
substring.

 #KT-5956 Fixed
2014-11-27 20:38:19 +03:00
Alexander Udalov 4d95bcfc7e Rename CharSequence.get to charAt
This is done for JVM interoperability. There's still a member function
String.get() and an extension function "get" on CharSequence

 #KT-1730 Fixed
 #KT-5389 Fixed
2014-11-27 20:38:18 +03:00
Alexander Udalov a7b88e9485 Make CharSequence.length a function instead of property
And String.length as well.

This is done for JVM interoperability: java.lang.CharSequence is an open class
and has a function 'length()' which should be implemented in subclasses
somehow.

A minor unexpected effect of this is that String.length() is now a compile-time
constant (it wasn't such as a property because properties are not supported in
compile-time constant evaluation)

 #KT-3571 Fixed
2014-11-27 20:38:17 +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
Alexander Udalov 128c938965 Make Array.size() a function instead of a property
Also add a deprecated extension property to help migration. This is done to
unify getting size of arrays and collections
2014-11-17 15:02:38 +03:00
Denis Zharkov 8d47bdfebb Made <T> in arrayOfNulls() reified #KT-5651 Fixed 2014-11-13 20:56:10 +03:00
Alexander Udalov 685a1c38e2 Fix indent in built-in sources 2014-10-27 17:17:26 +03:00
Alexander Udalov 624e507ec2 Make enum classes comparable
#KT-3727 Fixed
2014-10-17 21:27:23 +04:00
Alexander Udalov 02861308bc Add toString() to kotlin.Enum
Overridable because it is in java.lang.Enum
2014-10-17 21:27:23 +04:00
Alexander Udalov 66a7a58313 Prohibit to override equals/hashCode in enums
#KT-5721 Fixed
2014-10-17 21:27:22 +04:00
Alexander Udalov fb958897a9 Introduce kotlin.Cloneable
- Cloneable is a trait with a single protected member 'clone', which is mapped
  to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
  implementations. Also if you need your class to be Cloneable, most of the
  time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic

 #KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Alexander Udalov 406855467c Revert temporary type adjustments on builtins
These were made during migration of builtins from package "jet" to "kotlin"
2014-03-02 21:38:57 +04:00
Alexander Udalov 8762a02844 Add/update copyrights in built-ins sources 2014-03-02 19:55:29 +04:00
Alexander Udalov d5e2c4ad4c Generate built-in sources of arrays
Extract Array class into a separate file, move arrayOfNulls to Library.kt, fix
formatting and generate Arrays.kt
2014-03-02 19:55:27 +04:00
Alexander Udalov 6e23af2ba3 Split Library.kt into several files
For better readbility and discoverability. Also rename String.compareTo
parameter to "other", since that is the name of parameter of other compareTo's
2014-03-02 19:55:27 +04:00
Alexander Udalov 11cc7f46f4 Remove "Iterator.iterator()" intrinsic, add stdlib function 2014-03-02 19:55:24 +04:00
Alexander Udalov d9029917eb Move built-ins from package "jet" to "kotlin"
#KT-2896 Fixed
2014-03-02 19:55:20 +04:00