Alexey Andreev
fc3d92f58d
classlib: improve performance of String.toLower/toUpper
2023-09-30 07:17:22 +02:00
Alexey Andreev
a3eb5f635f
Fix wrong previous commit
2023-09-29 20:57:45 +02:00
Alexey Andreev
58e68db2c4
classlib: properly determine enum class in SwitchBootstrapSubstitutor
2023-09-29 18:09:01 +02:00
Alexey Andreev
d4113a6744
classlib: improve Math min/max implementations in C and Wasm
...
Follow-up to ihromant's "fix Math min/max functions in JS"
2023-09-28 17:02:18 +02:00
ihromant
56ff3fbdd8
classlib: fix Math min/max functions
2023-09-28 17:02:18 +02:00
Ivan Hetman
5dec78b590
classlib: support SwitchBootstraps ( #764 )
...
Java 21 supports switch pattern matching (as well as few earlier Java version as an experimental feature). Javac produces code with INVOKEDYNAMIC that relies on bootstrap methods from `java.lang.runtime.SwitchBootstraps`. This commit is intended to support for new Java language feature
2023-09-28 15:04:07 +02:00
Ivan Hetman
0ef08a01e7
classlib: inheritDeque from SequencedCollection, fix ArrayDeque ( #765 )
...
Second part of JEP-431
2023-09-28 14:35:41 +02:00
Alexey Andreev
ada85b4c07
Bump checkstyle version to support Java 21 syntax
2023-09-28 13:51:08 +02:00
Alexey Andreev
7fd3166f9b
wasm: support Date.toString
2023-09-27 14:30:20 +02:00
Alexey Andreev
5a0c418389
wasm: fix duplicate random function
2023-09-25 21:23:46 +02:00
Ivan Hetman
603d7f1f88
classlib: distinguish between +0 and -0 in double stringifier, improve copySign implementation
2023-09-25 15:56:43 +02:00
Colorize
05f50afa8d
classlib: add ExecutionException ( #637 )
2023-09-25 15:50:19 +02:00
ihromant
c858542605
classlib: implement general reversed ListIterator
2023-09-25 15:28:26 +02:00
Alexey Andreev
e383b94e1b
classlib: fix implementations of SequencedCollection methods in ArrayList
2023-09-25 15:23:18 +02:00
Ivan Hetman
55426b25cf
classlib: add SequencedCollection interface, inherited List from it ( #759 )
...
(initial part of JEP-431)
2023-09-25 14:50:00 +02:00
Ivan Hetman
a669cd4957
classlib: add MatchException needed for exhaustive switch ( #757 )
2023-09-24 19:24:47 +03:00
Jonathan Coates
e02f91b0fd
classlib: add Java 9's Arrays.equals and Arrays.mismatch ( #755 )
2023-09-23 13:01:26 +03:00
Ivan Hetman
7589eb23fc
classlib: remove deprecated constructors of primitive wrappers ( #754 )
2023-09-21 16:05:18 +02:00
Ivan Hetman
887528531f
classlib: fix for hashcode implementation in various classes, add other minor fixes/improvements ( #752 )
2023-09-21 15:30:41 +02:00
Ivan Hetman
e13746a650
classlib: fix reverse bytes methods in primitive wrappers ( #753 )
2023-09-21 13:58:03 +02:00
Alexey Andreev
ba7dcd13b5
Update gradle scripts for latest gradle version
...
1. Use lazy property assignment
2. Remove usages of deprecated buildDir property
2023-09-21 09:52:29 +02:00
Alexey Andreev
2ae9c593d2
classlib: satisfy checkstyle after applying latest PR
2023-09-21 09:51:34 +02:00
Jonathan Coates
6efade1b49
classlib: Add nio's channel interfaces ( #751 )
...
- Add the basic java.nio.channels.Channel interfaces.
- Add several nio exception types.
- Add UncheckedIOException
2023-09-21 09:20:24 +02:00
Ivan Hetman
8277671376
classlib: make difference between raw and normal floating points to int conversion
2023-09-20 23:51:55 +03:00
Alexey Andreev
3b6b31ff8f
Implement more precise comparison logic
2023-09-20 21:30:56 +02:00
Ivan Hetman
154bf7abd9
classlib: more fixes to Math.nextUp/nextDown ( #746 )
2023-09-19 13:21:32 +02:00
Alexey Andreev
617ce67871
classlib: follow-up for math fixes
2023-09-19 11:34:51 +02:00
Alexey Andreev
c245eb08cd
Fix checkstyle rule violation
2023-09-19 11:34:50 +02:00
Ivan Hetman
93d1a5e492
classlib: float/double equals fixes ( #741 )
2023-09-19 11:34:29 +02:00
Ivan Hetman
0997a65596
classlib: math fixes ( #742 )
2023-09-19 09:52:10 +02:00
Ivan Hetman
4a081db1c3
classlib: update RandomGenerator implementation ( #743 )
2023-09-19 09:39:57 +02:00
Alexey Andreev
062d4ae4e9
classlib: improve accuracy of float parsing and formatting
2023-09-15 12:11:37 +02:00
Alexey Andreev
e1706f242d
classlib: improve accuracy of Double.toString
2023-09-14 20:55:09 +02:00
Alexey Andreev
7059038cf0
classlib: improve accuracy of double parser
2023-09-14 15:38:43 +02:00
Alexey Andreev
0a92994c4b
classlib: improve accuracy of double parser and fix possible issue
2023-09-14 10:04:27 +02:00
Alexey Andreev
b2aae0634e
classlib: improve accuracy of Double.toString
2023-09-13 21:20:18 +02:00
Alexey Andreev
e2ee9f1dbb
classlib: improve precision of float/double parsing and formatting
2023-09-13 19:40:00 +02:00
Alexey Andreev
e6c71fa106
classlib: add ThreadDeath class
...
Fix #733
2023-09-10 18:46:33 +02:00
Alexey Andreev
83ace9bf3e
classlib: fix ByteBuffer.putLong implementation
...
Fix #737
2023-09-05 09:26:22 +02:00
Alexey Andreev
401fcabeae
wasm: support ServiceLoader
2023-08-28 19:32:22 +02:00
Alexey Andreev
9ecb3ad817
classlib: support ReferenceQueue.remove
2023-08-21 20:13:06 +02:00
Alexey Andreev
56dfa124ca
classlib: add more methods to Logger
2023-08-18 18:29:50 +02:00
Alexey Andreev
9af6d262fe
classlib: properly implement ByteOrder.nativeOrder
2023-08-18 17:55:01 +02:00
Alexey Andreev
a3f0ec52d4
classlib: support putFloat/getFloat/putDouble/getDouble in ByteBuffer
2023-08-17 11:59:48 +02:00
Alexey Andreev
22864c88f2
js: support WeakReference
2023-08-10 20:47:01 +02:00
Alexey Andreev
cd38447057
classlib: make Reader class implement Readable interface
2023-08-10 19:24:49 +02:00
Alexey Andreev
7aefaf37ed
classlib: fix issue in PrintStream.println
...
Fix #726
2023-08-04 09:47:53 +02:00
Alexey Andreev
948244cbf4
JS: marshall JS object to Java in a wrapper
2023-07-29 18:54:23 +02:00
Alexey Andreev
9438380716
classlib: improve System.arraycopy for primitive arrays
2023-07-20 20:21:52 +02:00
Alexey Andreev
61eb666503
classlib: faster implementation of System.arraycopy
2023-07-19 21:11:27 +02:00
Alexey Andreev
b11ad994fd
classlib: support more methods in InputStream
2023-07-19 19:22:17 +02:00
Ivan Hetman
61ef007672
classlib: add Stream dropWhile and takeWhile
2023-07-05 19:44:10 +02:00
Ivan Hetman
ac2e5d6fa0
classlib: added Stream iterate method ( #721 )
2023-07-05 19:40:08 +02:00
Alexey Andreev
eed42e33b0
classlib: implement ConcurrentHashMap
2023-07-05 19:38:37 +02:00
Ivan Hetman
8e676ff16c
classlib: add mapMulti to Stream ( #720 )
2023-07-03 20:35:36 +03:00
Ivan Hetman
23a6393267
classlib: collectors partitioning by ( #716 )
2023-06-21 15:35:37 +02:00
Kirill Prazdnikov
81124a084b
classlib: fix ByteBuffer,CharBuffer,*Buffer IOOB exception throw with zero length arrays in arguments
...
fix #713
2023-06-21 15:30:30 +02:00
Jasper Siepkes
efe15e323b
classlib: add not method to Predicate interface ( #709 )
...
With this addition the Predicate interface is 100% complete for Java 17.
2023-06-07 12:57:22 +02:00
Alexey Andreev
9dd9fc3a8a
classlib: improve performance of several String methods
2023-06-07 11:22:01 +02:00
Alexey Andreev
cb67595f5b
Fix checkstyle errors
2023-06-07 10:51:47 +02:00
Ivan Hetman
8b9d39dbb8
classlib: additional collectors for streams
2023-06-07 10:18:37 +02:00
Jasper Siepkes
a409763f76
classlib: add the copyOf method to List, Set and Map interfaces ( #708 )
...
The copyOf static method was added in Java 10 to the List, Set and Map interfaces. Since no additions were made since Java 10 this commit brings the List, Set and Map interfaces to 100% completion for the latest LTS (Java 17) at the time of writing.
2023-06-07 10:13:20 +02:00
Ivan Hetman
d209a5f02e
classlib: add Collectors.reducing ( #704 )
2023-06-06 11:08:15 +02:00
Jasper Siepkes
7104edb592
classlib: add stripLeading and stripTrailing methods to String class ( #707 )
...
The stripLeading and stripTrailing methods were added in Java 11 to the String class.
Based on the implementation of the existing strip method in TeaVM this commit adds the stripLeading() and stripTrailing() methods (and tests) to the String class in the class library.
2023-06-06 10:09:25 +02:00
Ivan Hetman
ac8cb377c3
classlib: improve and fix Integer/Long long bit operations
2023-05-16 11:08:05 +02:00
Alexey Andreev
73d2379185
classlib: add Integer/Long parse subsequence
2023-05-16 10:37:38 +02:00
Alexey Andreev
81f78fab01
classlib: add String.strip
2023-05-16 10:12:36 +02:00
Ivan Hetman
697ad73762
classlib: add Collectors grouping by
2023-05-16 09:57:13 +02:00
Alexey Andreev
9f349385ec
classlib: fix issue in BitSet.set
2023-04-26 16:25:25 +02:00
Ivan Hetman
25890adcf8
Add record class name to toString implementation ( #691 )
2023-04-21 12:57:51 +02:00
Ivan Hetman
fcb750675c
Fix NPE in record.equals(null) ( #688 )
2023-04-11 09:30:21 +02:00
Ivan Hetman
5dee60eec6
classlib: add CharSequence.isEmpty support ( #683 )
2023-04-04 13:03:38 +02:00
Alexey Andreev
246498763d
classlib: fix more bugs in int-to-string conversion
2023-04-03 17:18:59 +02:00
Alexey Andreev
7442898898
classlib: fix checkstyle error
2023-04-03 10:14:45 +02:00
Ivan Hetman
a1074918cf
classlib: fix issues related to ArrayList, Arrays and Comparator
2023-04-03 10:07:28 +02:00
Alexey Andreev
c5572bc573
classlib: fix stringifying min integer and min long. Refactor tests
2023-04-03 09:39:31 +02:00
Ivan Hetman
9201d16853
classlib: add missing constructor to PriorityQueue ( #680 )
2023-04-02 19:23:18 +02:00
Alexey Andreev
a70251fe83
classlib: add Integer/Long.compareUnsigned
2023-03-25 09:37:44 +01:00
Ivan Hetman
ffe3f34731
classlib: add BitSet stream API ( #674 )
2023-03-15 11:09:49 +01:00
Alexey Andreev
ca76ea45cf
Get rid of Gson library
2023-03-10 21:19:30 +01:00
Ivan Hetman
07d56f1b0b
classlib: fix NPE when passing null to Arrays.toString ( #667 )
2023-02-28 11:46:59 +03:00
Alexey Andreev
672f7e32cd
classlib: update tzdata, unicodedata and cldr
2023-02-24 19:44:38 +01:00
Alexey Andreev
7bde7d9642
classlib: fix invalid superclass of IllegalStateException
2023-02-17 20:49:57 +01:00
Christoph Aschwanden
4fa35e8688
classlib: fix issue with Date.UTC year
...
Co-authored-by: noblemaster <contact@noblemaster.com>
2023-02-12 10:52:36 +03:00
Alexey Andreev
f09a427827
classlib: fix strange character in method names
2023-02-02 10:15:23 +01:00
Alexey Andreev
e315398d9b
Don't include large resources into classlib sources jar
2023-01-26 14:57:23 +01:00
Alexey Andreev
f0dd67f7fc
Fix classlib dependencies
2023-01-26 14:07:12 +01:00
Alexey Andreev
5c146c6de0
Fix issues in recently merged PR
2023-01-26 09:17:08 +01:00
Ivan Hetman
ada086a864
Base64 implementation ( #650 )
...
classlib: add Base64 support
2023-01-26 08:40:03 +01:00
Alexey Andreev
8014c038c0
Migrate to gradle
2023-01-23 17:16:07 +01:00
Ivan Hetman
e12f99ab49
Crypto/UUID ( #639 )
...
JS: if possible, use crypto API to generate UUID
2022-12-07 14:33:27 +03:00
Alexey Andreev
68efdddddf
JS: fix writing from JS to stdout
2022-11-16 16:41:29 +01:00
Alexey Andreev
70e37dfed9
Wasi: fix bugs in IO implementation
2022-11-12 21:52:29 +01:00
Alexey Andreev
c52b71292d
Fix Math.pow implementation in JS
2022-11-11 09:15:52 +01:00
Alexey Andreev
485f8ac902
Wasi: fix file system issues, add support for Math.pow
2022-11-10 17:08:58 +01:00
Alexey Andreev
292aa21aef
classlib: use built-in unicode table to implement tolower/toupper methods.
...
This makes it possible to use TeaVM in environments where these functions aren't natively available.
For example, WASI
2022-11-09 12:08:17 +01:00
Alexey Andreev
224810d0ab
Wasm: support file IO and random generator in WASI
2022-11-08 19:44:56 +01:00
Alexey Andreev
3eb4b742ea
Move FS support to teavm-core module
2022-11-07 09:53:46 +01:00
Alexey Andreev
1ca2c75e1c
Wasm: initial WASI support
2022-11-06 11:53:52 +01:00
Alexey Andreev
d5cdd740f5
Fix incorrect behaviour of Class.getInterfaces
...
fix #635
2022-11-04 16:15:30 +01:00
Alexey Andreev
a40c955d39
classlib: fix StringBuilder.indexOf
...
Fix #615
2022-10-05 10:16:54 +02:00
Alexey Andreev
fcb13b24ad
classlib: force class initialization in EnumSet implementation in order to get enum constants array filled
2022-09-13 16:03:37 +02:00
Alexey Andreev
38d3bf1c63
classlib: fix ByteBuffer.slice
...
Probably fixes #607
2022-08-16 10:06:08 +02:00
iamdudeman
2d73403b9a
Moved next origin/bound implementations from TThreadLocalRandom to TRandom.
2022-08-16 10:34:47 +03:00
Alexey Andreev
10415b356e
classlib: fix AbstractSet.hashCode
2022-08-12 16:47:59 +02:00
Timothy Solum
f7f99b3c9f
Add Random next origin, bound methods for float, double, int and long ( #609 )
2022-08-06 14:39:09 +03:00
Timothy Solum
89f41b9a35
Add setName method to Thread. ( #608 )
2022-08-06 14:37:21 +03:00
Alexey Andreev
3571917a2f
Fix issue in record toString method generator
2022-08-06 14:07:53 +03:00
Ulugbek
b6837340e5
classlib: add TCollectors#collectingAndThen
and TCollectors#toUnmodifiableList
2022-07-25 09:27:18 +03:00
Ulugbek
81ed5ef829
classlib: add an empty implementation of TAccessControlContext
2022-07-25 09:27:18 +03:00
Ulugbek
8a70c5ded0
classlib: add TAccessController(TPrivilegedExceptionAction<T>) T
2022-07-25 09:27:18 +03:00
Ulugbek
584adb457f
classlib: add TSystem#getSecurityManager()TSecurityManager
and an empty implementation of TSecurityManager
2022-07-25 09:27:18 +03:00
Ulugbek
c8eb5ec3be
classlib: add TPrivilegedActionException
2022-07-25 09:27:18 +03:00
Ulugbek
8776504e18
classlib: add PrivilegedExceptionAction
2022-07-25 09:27:18 +03:00
Alexey Andreev
c42b9fac28
Prevent usage of javax.xml package of running JVM
2022-07-13 13:13:22 +03:00
Alexey Andreev
7fe79a1768
Fix abstract classes are considered by dependency analysis when constructed by reflection
...
Also fix #592
2022-07-13 12:48:34 +03:00
Alexey Andreev
f0d805fda8
Support Java 17 records
2022-07-10 20:40:24 +03:00
Alexey Andreev
87324a3569
Add Stream.toList
2022-06-23 10:42:43 +03:00
Ulugbek Abdullaev
eba1d1e574
stdlib: implement Stream.takeWhile
( #588 )
...
Co-authored-by: Ulugbek <ulugbek.abdullaev@jetbrains.com>
2022-06-10 13:41:16 +03:00
Alexey Andreev
eab7ef0a2e
Bump Scala version in Scala example. Add hack for Scala runtime.
2022-05-08 18:43:49 +03:00
Alexey Andreev
e625409562
classlib: add ResourceBundle.getBaseBundleName
2022-05-08 18:07:40 +03:00
Alexey Andreev
500d72d596
classlib: add methods to java.util.Objects
2022-05-08 17:42:26 +03:00
Alexey Andreev
0bcd3101ad
Remove unused threeten code
2022-03-25 13:21:21 +03:00
Alexey Andreev
393ab3b09e
Classlib: fix bug in regexp implementation
2022-02-25 20:34:44 +03:00
Alexey Andreev
1c04cd2ba6
Fix typo
2022-02-01 08:47:27 +03:00
Alexey Andreev
3728645665
Add Kotlin hack to avoid using regexp in
...
String.toFloatOrNull and String.toDoubleOrNull
2022-02-01 08:46:35 +03:00
Alexey Andreev
e4a408d26e
classlib: throw exception from URL constructor when invalid ':' provided
2022-01-12 16:02:46 +03:00
Alexey Andreev
bdd865d07f
Update CLDR and tzdata
2021-10-14 16:17:52 +03:00
Alexey Andreev
6d11abf4b6
Implement missing methods in Boolean, Byte and Short classes
2021-10-14 15:25:00 +03:00
Alexey Andreev
73bd139b7e
C: implement ServiceLoader
2021-04-14 23:02:09 +03:00
Alexey Andreev
aa8a91d030
classlib: implement missing charsets
2021-03-30 20:03:25 +03:00
Alexey Andreev
c4c1408160
wasm: fix running tests, add in-browser test runners
2021-03-20 19:52:45 +03:00
Alexey Andreev
5d9d64303e
Fix tzdata parser
2021-03-18 13:03:55 +03:00
Alexey Andreev
4fe012740d
Update tzdata
2021-03-18 12:00:27 +03:00
Alexey Andreev
0cff9e104c
Fix checkstyle warnings after migration to the new version
2021-03-18 11:51:20 +03:00
Alexey Andreev
81bfe3f6e2
Improve pom.xml configuration
2021-03-18 11:16:41 +03:00
Alexey Andreev
44bacd0b02
java.time: update threeten code and tests WRT JDK semantics
2021-03-18 00:13:52 +03:00
Alexey Andreev
8fea07b772
java.time: remove deviation config reader for HijrahDate
2021-03-18 00:13:52 +03:00
Alexey Andreev
e9d0ed5c67
java.time: reduce generated code size
2021-03-18 00:13:52 +03:00
Alexey Andreev
1b31d6da9a
java.time: format code according to checkstyle rules
2021-03-18 00:13:52 +03:00
Alexey Andreev
2924af963d
java.time: add support for time zones
2021-03-18 00:13:52 +03:00
Alexey Andreev
81878548b4
java.time: running threeten tests
2021-03-18 00:13:51 +03:00
Alexey Andreev
91c00da57b
java.time: add tests from threeten
2021-03-18 00:13:51 +03:00
Alexey Andreev
5d630ae551
java.time: get rid of serialization code
2021-03-18 00:13:49 +03:00
Alexey Andreev
051c3bb227
java.time: remove jdk7 hacks
2021-03-18 00:13:09 +03:00
Alexey Andreev
3513bacc2e
java.time: remove usages of concurrent classes
2021-03-18 00:12:42 +03:00
Alexey Andreev
f12d33a032
java.time: add files from threeten
2021-03-18 00:12:42 +03:00
Alexey Andreev
0064d399be
Fix bug in Arrays.binarySearch
2021-03-17 10:15:25 +03:00
Alexey Andreev
a3eaa1fc18
Add EnumSet.range
2021-03-17 10:14:32 +03:00
Alexey Andreev
26db1acc96
Fix how weeks are represented in DateFormatSymbols
...
Add missing methods to DateFormatSymbols
2021-03-17 10:13:38 +03:00