Commit Graph

594 Commits

Author SHA1 Message Date
Ivan Hetman
b006cbb206
classlib: various fixes in Character class (#831)
* fix bug in `codePointBefore`
* validate arguments in some methods
* support negative `codePointOffset` in `offsetByCodePoints`
* add tests
2023-10-27 17:25:32 +02:00
Ivan Hetman
fc49094d96
classlib: fix support of positive/negative zeros in Float/Double.toHexString (#830) 2023-10-27 16:52:33 +02:00
Alexey Andreev
c5768e07bc classlib: fix issue in InputStreamReader 2023-10-26 11:50:27 +02:00
Ivan Hetman
3ac0078e2a
classlib: add cache to Byte and Short valueOf; fix Byte.parseByte (#832) 2023-10-26 09:09:08 +03:00
Ivan Hetman
4b6c4bd3d3
classlib: fix issues in EnumSet and EnumMap (#834) 2023-10-26 09:04:26 +03:00
Alexey Andreev
7acc81ce4d JS: remove lazy creation of primitive classes 2023-10-21 20:07:49 +02:00
Alexey Andreev
02b3c92912 JS: use native string to represent internals of java.lang.String 2023-10-21 19:30:16 +02:00
Alexey Andreev
a59236cc7a Update unicode data 2023-10-17 19:32:28 +02:00
Alexey Andreev
368f8a5c23 Update tzdata 2023-10-17 19:32:21 +02:00
Alexey Andreev
fe0ced064b Update CLDR 2023-10-17 19:27:34 +02:00
Ivan Hetman
9242aeb750
classlib: Arrays corner cases fixes (#825) 2023-10-16 20:40:50 +03:00
Alexey Andreev
cd9db17d73 JS: improve performance float<->int reinterpretation conversion, improve performance of Double.equals. 2023-10-16 17:27:12 +02:00
Ivan Hetman
658ef711ab
classlib: additional stream collectors (#822) 2023-10-16 14:09:56 +02:00
Ivan Hetman
65681e74d8
classlib: small PriorityQueue fixes (#823) 2023-10-16 13:59:35 +02:00
Ivan Hetman
1900852cd8
classlib: fix for positioned addAll in sequential lists (#824) 2023-10-16 13:41:15 +02:00
Alexey Andreev
5bc398415d classlib: implement Atomic*FieldUpdater classes
Fix #750
2023-10-15 19:51:44 +02:00
Ivan Hetman
4e9d89b669
classlib: improve range checks for BitSet (#820) 2023-10-13 22:04:00 +03:00
Ivan Hetman
82cd9d9cdf
classlib: fix various issues in TreeMap (#813) 2023-10-13 22:01:40 +03:00
Ivan Hetman
6faecc91d2
classlib: more overrides for TreeMap keySet (#818) 2023-10-13 20:57:32 +03:00
Ludovic Dubost
4a81615749 class: fix LinkedList.offer method adding item incorrectly at the beginning
Fix #772
2023-10-13 19:52:47 +02:00
Ivan Hetman
0b2d1428fb
classlib: minor exceptions fix for lists (#819) 2023-10-13 20:45:02 +03:00
Ivan Hetman
bcc2c0ff35
classlib: implement last part of JEP-431 (#810)
TreeMap, TreeSet
2023-10-09 22:26:42 +03:00
Alexey Andreev
05454380d9 classlib: fix issue in TreeMap iterator remove method 2023-10-09 20:35:54 +02:00
Ivan Hetman
d47fea0b55
classlib: implement third part of JEP-431 (#771)
SequencedSet -> LinkedHashSet, SequencedMap -> LinkedHashMap
2023-10-08 18:05:11 +03:00
Ivan Hetman
2d91f539c7
classlib: fix corner case for Character.forDigit (#769) 2023-10-08 12:48:59 +03:00
Ivan Hetman
a493d003e5
classlib: add methods/fields from JDK 21 to Math (#784) 2023-10-08 12:45:27 +03:00
Jörg Hohwiller
7e761ca7e9
classlib: add TResourceBundle.containsKey (#779)
Fix #573
2023-10-08 12:41:55 +03:00
Alexey Andreev
3d65d38375 Massive refactoring around Wasm support
1. Get rid of old exception handling IR transformer in favor of generation of EH code inside BE
2. Get rid of no-setjmp/longjmp support in C BE
3. Fix various bugs in WebAssembly BE
4. Suppress remaining failing tests for Wasm
5. Enable running Wasm tests by default
2023-10-08 10:36:03 +02:00
Ivan Hetman
fe1a169d9b
classlib: fix delete and replace for AbstractStringBuilder (#783) 2023-10-05 13:27:15 +02:00
Alexey Andreev
2c00df288f wasm: fix ServiceLoader 2023-10-02 14:05:25 +02:00
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