Commit Graph

426 Commits

Author SHA1 Message Date
Alexey Andreev
f6a16c1b94 Suppress failing WASI tests, enable running WASI tests by default 2023-10-08 19:23:34 +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
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
Alexey Andreev
0c0fb1a02b Fix running C tests 2023-10-06 10:55:08 +02:00
Ivan Hetman
fe1a169d9b
classlib: fix delete and replace for AbstractStringBuilder (#783) 2023-10-05 13:27:15 +02:00
Alexey Andreev
7ff56d7a94 wasm: suppress some failing tests 2023-10-02 14:18:25 +02:00
Alexey Andreev
1c56036171 Suppress tests that are failing on C backend 2023-10-02 08:30:52 +02:00
Alexey Andreev
d850780d94 Update test annotations 2023-10-01 21:37:23 +02:00
Alexey Andreev
47973face1 Simplify test runner, remove parallel run, remove HtmlUnit runner, fix Wasm tests 2023-09-29 21:11:23 +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
eed44998f0 jso: trying to improve optimization of JSWrapper 2023-09-27 13:50:30 +02:00
Alexey Andreev
b7cf7b593c wasm: when building tests, resolve absolute paths to source files in DWARF 2023-09-26 23:02:16 +02:00
Alexey Andreev
46790d11db Satisfy checkstyle after recent PR 2023-09-25 20:25:49 +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
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
Alexey Andreev
57ca715195 Bump test JDK version to 21 2023-09-25 11:38:36 +02:00
Alexey Andreev
fa2e003dd6 classlib: fix crash in WeakReference constructor
It occurred when ReferenceQueue.remove method was never used

Fix #756
2023-09-24 13:47:15 +02: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
Alexey Andreev
94e34188c3 Satisfy checkstyle after last merged PR 2023-09-21 16:04:43 +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
010bb721f2 Fix build 2023-09-20 22:58:32 +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
Alexey Andreev
866fdb8af8 Update tests after testing with Java 21 2023-09-20 20:26:34 +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
409292159e C: fix running tests 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
e2ee9f1dbb classlib: improve precision of float/double parsing and formatting 2023-09-13 19:40:00 +02:00
Alexey Andreev
83ace9bf3e classlib: fix ByteBuffer.putLong implementation
Fix #737
2023-09-05 09:26:22 +02:00
Alexey Andreev
d655f01d14 Fix issue in build script for tests module 2023-08-28 14:11:01 +02:00
Alexey Andreev
f64a715418 Ignore failing test 2023-08-22 20:00:13 +02:00
Alexey Andreev
dec1bf02e2 Ignore failing test 2023-08-22 19:16:41 +02:00
Alexey Andreev
d7cae4af55 Fix running tests in wasm 2023-08-22 17:02:33 +02:00
Alexey Andreev
9ecb3ad817 classlib: support ReferenceQueue.remove 2023-08-21 20:13:06 +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
b9f5e9be1c JS: optimize case when JS method returns java.lang.Object and then treated as JS object 2023-08-04 20:40:57 +02:00
Alexey Andreev
334e2829b3 JS: supports module imports in JSBody 2023-08-03 15:42:15 +02:00
Alexey Andreev
a1ed797d73 JS: allow passing Object to JS methods 2023-07-31 20:42:09 +02:00
Alexey Andreev
03cd5907eb Fix minor typo in test 2023-07-31 10:10:21 +02:00
Alexey Andreev
c4c6b029e3 JS: add support for exporting Java methods as JS properties 2023-07-30 20:48:43 +02:00
Alexey Andreev
948244cbf4 JS: marshall JS object to Java in a wrapper 2023-07-29 18:54:23 +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
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
c39efdc6d7 classlib: fix issue with integer unsigned right shift 2023-05-16 09:56:24 +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
Alexey Andreev
246498763d classlib: fix more bugs in int-to-string conversion 2023-04-03 17:18:59 +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
ffe3f34731
classlib: add BitSet stream API (#674) 2023-03-15 11:09:49 +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
8800e7153b Don't use Gradle toolchains to specify Java version 2023-02-01 18:41:17 +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
Alexey Andreev
64ae44ee01 JS: store global object in a variable to avoid name clashes between generated declarations (in minified mode) and global declarations 2022-11-17 12:02:46 +01:00
Alexey Andreev
70e37dfed9 Wasi: fix bugs in IO implementation 2022-11-12 21:52:29 +01:00
Alexey Andreev
8285799b2b Fix checkstyle warning 2022-11-11 11:09:19 +01:00
Alexey Andreev
1fb70b0903 Fix private method call resolution in Java 11 2022-11-11 10:56:20 +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
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
2b671b8088 Fix issue with precedence of % operator 2022-08-25 12:48:59 +02:00
Alexey Andreev
bab6c8bddf Fix checkstyle error 2022-08-16 10:15:48 +02:00
Alexey Andreev
38d3bf1c63 classlib: fix ByteBuffer.slice
Probably fixes #607
2022-08-16 10:06:08 +02:00
Alexey Andreev
10415b356e classlib: fix AbstractSet.hashCode 2022-08-12 16:47:59 +02:00
Alexey Andreev
3571917a2f Fix issue in record toString method generator 2022-08-06 14:07:53 +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
29fd95be95 Fix bugs related to MULTINEWARRAY in various backends 2022-07-10 18:16:16 +03:00
Alexey Andreev
87324a3569 Add Stream.toList 2022-06-23 10:42:43 +03:00