Artem Kobzar
8c69ffe8c9
[K/Wasm] Generate wasm-specific unsigned implementations ^KT-58039 Fixed
2024-01-29 20:11:41 +00:00
Igor Yakovlev
3e9b2573c5
[Wasm/std] Fix invalid sign for FP rem operator
...
Fixed #KT-64829
2024-01-24 15:40:48 +00:00
Ilya Gorbunov
d8ee74222f
[builtins-gen] Explicit visibility for companion objects and secondary constructors
2023-11-22 18:04:34 +00:00
Ilya Gorbunov
ab7c2f2196
[stdlib] Explicit visibility and return types: builtins
2023-11-22 18:04:34 +00:00
Ilya Gorbunov
911fa3bbbb
[stdlib] Merge js-ir specific sources into common js sources
2023-10-19 03:11:54 +00:00
Ilya Gorbunov
78ef58f59d
[Generator] Do not use explicit final modifier in Native primitive classes
...
'final' is the default modality, safe to omit
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
8ae21c0e1b
[Generator] Do not omit public visibility of methods in wasm
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
918b935e22
[Generator] Write the body of Boolean.hashCode in one place
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
1c149925b7
[Generator] Always put expression body on a new line
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
68a9b9c312
[Generator] Reference generator class in generated code files
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
74ac48851a
[Generator] Canonical order of modifiers
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
60bbd08569
[Generator] Rename additionalDoc, put its content before annotations
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
7d3f080c81
Generate JS Long using builtin generators (step 2)
2023-08-29 16:27:55 +00:00
Ivan Kylchik
6a9c50325e
[Generator] Add otherKind parameter to conversion methods
2023-08-24 08:59:49 +00:00
Ivan Kylchik
adce2c9a78
[WASM] Replace deprecated Char.toInt() with Char.code
2023-08-24 08:59:49 +00:00
Ivan Kylchik
ee973c0ede
[Generator] Generate Char class
2023-08-24 08:59:49 +00:00
Ivan Kylchik
38e434bc07
[Generator] Generate Boolean class
2023-08-24 08:59:49 +00:00
Ilya Gorbunov
3f3cd2e87a
[Generator] Set up body for rangeTo and rangeUntil by default
...
Also use expression body formatting for `rangeTo`.
2023-08-24 08:59:49 +00:00
Ivan Kylchik
097535aeea
[Generator] Replace IntrinsicConstEvaluation string with const property
2023-08-24 08:59:49 +00:00
Artem Kobzar
c53b49d7fa
[K/Wasm] Remove custom equals because this kind of equality is lowered in duration of the compilation ^KT-58126 Fixed
2023-06-20 17:36:01 +00:00
Abduqodiri Qurbonzoda
da8f9fbd04
Document that array constructor throws RuntimeException on negative size
2023-06-20 16:31:59 +00:00
Igor Yakovlev
a224feefd2
[Wasm] Fix invalid rounding for reminder calculation
...
#Fixed KT-58681
2023-05-16 15:53:01 +00:00
Ilya Gorbunov
b35b727d73
KT-53778 Remove experimental annotations from open ranges
2023-04-28 17:12:15 +00:00
Abduqodiri Qurbonzoda
52cbad2da2
[K/N] Hide Primitive.equals(Primitive) functions #KT-57344
...
As a part of efforts to stabilize Native stdlib.
Merge-request: KT-MR-9692
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com >
2023-04-25 14:56:29 +00:00
Ivan Kylchik
2e836494f5
Rewrite primitives' generation using simple DSL
2023-04-20 08:18:58 +00:00
Ivan Kylchik
07ca981632
Unify generation of Primitives files for all backends
2023-04-20 08:18:57 +00:00
Dmitriy Novozhilov
a64d8e8a31
[Stdlib] Deprecate and make open Number.toChar()
...
^KT-46465 Fixed
2023-03-27 10:46:13 +00:00
Alexander Udalov
7b8b6ef98f
Use COPYRIGHT_HEADER in generateBuiltins
...
It's the same logic that is used in generateTests, and it prevents
master builds from failing as soon as the new year begins. The year in
the COPYRIGHT_HEADER should be updated manually anyway, after which all
the generators will need to be re-run.
2023-01-02 22:50:06 +01:00
Ilya Gorbunov
34de2d9155
Trim trailing spaces in generated docs of builtins
2022-10-02 19:04:36 +00:00
Paŭlo Ebermann
418c530820
docs: mod/rem: clarify who is dividend and divisor
2022-09-30 15:41:55 +03:00
Ilya Gorbunov
203a00151d
rangeUntil member operator in builtins #KT-52933
2022-08-24 22:22:53 +00:00
Ilya Gorbunov
ec9c862034
Minor cleanup: remove unused condition
2022-08-24 22:22:52 +00:00
Stanislav Erokhin
d788a927c4
Change deprecations annotation order on Ranges#endExclusive property
...
We have [Int|Long|Char]Range classes in 2 different places:
- as separate class-files
- serialized in the kotlin_builtins file
For some reason our Kotlin compiler during the JVM compilation
re-arranging the order of the annotations, so in class file they
will be written in the following order:
- Deprecated
- SinceKotlin
- ExperimentalStdlibApi
But in the kotlin_builtins they will be stored the same way as
in the sources.
We need these 2 way to be synchronized, because stub's in IDE
cares about order.
After this commit IDE test BuiltInDecompilerConsistencyTest is fixed
2022-07-05 19:50:45 +00:00
Ilya Gorbunov
cd9b36b4c3
Introduce OpenEndRange and make primitive ranges implement it
...
#KT-52932
2022-06-28 00:08:03 +00:00
Ilya Gorbunov
1cfc6a8fca
Move sources of ranges to common stdlib from builtins
...
But still cherry-pick them when serializing builtins because they are
used in builtins signatures.
Merge-request: KT-MR-6488
Merged-by: Ilya Gorbunov <Ilya.Gorbunov@jetbrains.com >
2022-06-23 03:49:30 +00:00
Ivan Kylchik
1564f2c549
Mark all declarations that will be evaluated with ir interpreter
2022-05-18 21:19:54 +03:00
Ilya Gorbunov
2303730d57
Remove deprecated and not stabilized primitive unsigned iterators
2022-04-12 15:03:38 +00:00
Alexander Udalov
0d1380c232
Fix warnings in generator modules
2021-08-10 17:57:50 +02:00
Abduqodiri Qurbonzoda
71c5c8b20a
Fix Range.isEmpty doc
2021-04-19 19:14:25 +03:00
Abduqodiri Qurbonzoda
98d31a1813
Expand KDoc of inc() and dec() operators #KT-43701
2021-04-10 03:23:04 +03:00
Ilya Gorbunov
b64b96eee6
Deprecate Char-to-Number conversions in stdlib (JVM and JS)
...
- Int.toChar was left non-deprecated because the replacement is not intrinsic yet.
- Number.toChar was left non-deprecated because otherwise the deprecation propagates to the override, Int.toChar.
KT-23451
2021-04-07 18:30:20 +03:00
Abduqodiri Qurbonzoda
968099fbec
Advance deprecation level of FP to lesser than Int types to ERROR #KT-30360
2021-04-07 00:23:20 +03:00
Ilya Gorbunov
94240f7b21
Stabilize unsigned types KT-45653
...
Deprecate specialized unsigned iterators for removal.
Fix compiler tests:
- drop unsignedLiteralsOn1_2 because apiVersion 1.2 is no longer supported
- drop experimental unsigned literals diagnostic test
2021-03-31 19:05:04 +03:00
Anastasiya Shadrina
94c4d1c23e
Specify when the range is empty in KDoc
2021-03-19 20:40:06 +07:00
Ilya Gorbunov
7e2c365b79
Generate docs for floorDiv and mod and improve docs for div and rem
...
Refactor operator documentation generation for primitives and unsigned
types so that it is easier to specialize it.
Manually sync docs of numeric types in js-ir stdlib.
KT-26234
2021-03-05 07:32:16 +03:00
Ilya Gorbunov
50d4979531
Floor division and remainder for numeric types KT-26234
...
- floorDiv/mod for unsigned types
- floorDiv/mod for signed types
- mod for floating point types
- mod return type: same as divisor for integer types
- Update JS API dump
- Avoid triggering division overflow in tests due to K/N
- Workaround failing test in JS-legacy
2021-03-05 07:32:16 +03:00
Ilmir Usmanov
d67e4f0c48
Rename inline class -> @JvmInline value class in stdlib and compiler
2021-02-25 16:06:51 +01:00
Ilya Gorbunov
87e130e77a
Remove obsolete diagnostics suppression
...
The diagnostic NON_PUBLIC_PRIMARY_CONSTRUCTOR_OF_INLINE_CLASS is now
obsolete because internal constructors of inline classes became allowed.
2021-02-03 18:23:53 +03:00
Abduqodiri Qurbonzoda
36e6247125
Add more details about bit shift operations #KT-41112
2020-09-16 04:05:12 +03:00
Alexander Udalov
26eb51a9f9
Minor, fix generateBuiltins test
2020-08-21 17:51:23 +02:00