Alexey Andreev
0dd10899a0
classlib: implement CharSequence chars and codePoints
2024-04-29 19:15:27 +02:00
pcoperatr
1a1c534535
classlib: add missing implementation of Appendable interface to PrintStream
2024-04-26 23:48:09 +03:00
Alexey Andreev
c066864c68
classlib: fix bug in Stream.takeWhile
...
Fix #913
2024-04-26 21:30:13 +02:00
Alexey Andreev
a1d711d069
jso: when casting to JS objects, don't fail cast when cast object is null
2024-04-16 20:03:19 +02:00
Alexey Andreev
e7c28da4e2
classlib: fix ThreadLocal implementation for multi-thread case
2024-04-16 18:40:44 +02:00
Alexey Andreev
931f0f1f4a
jso: support varargs in exported classes and modules
2024-04-15 20:53:24 +02:00
Alexey Andreev
6a09f181c7
js: add JSTopLevel annotation that allows to import top-level declarations
2024-04-11 20:29:57 +02:00
Alexey Andreev
9b41e3e814
classlib: add CopyOnWriteArrayList implementation
2024-04-09 21:01:41 +02:00
Alexey Andreev
72b021fc0b
jso: support exporting class constructors
2024-04-08 21:32:10 +02:00
Alexey Andreev
a6fb67817c
jso: improve support of instanceof and cast against JS wrapper types
...
Fix #808
2024-04-04 21:18:54 +02:00
Alexey Andreev
e069bc3a44
classlib: implement WeakHashMap
...
Fix #799
2024-04-03 19:11:48 +02:00
Alexey Andreev
f668e27daa
jso: properly support JSWrapper generation when java.lang.Object method is called with receiver type of JSObject interface; add optimization for JSObject.toString call.
...
Fix #898
2024-04-01 17:52:28 +02:00
Alexey Andreev
403da28830
classlib: add PrintStream.format
2024-03-21 19:14:45 +01:00
Alexey Andreev
582fcf904c
jso: implement vararg support for method calls
2024-03-12 18:56:19 +01:00
Alexey Andreev
e4452152b7
jso: improve JS class import to Java
2024-02-27 20:16:10 +01:00
Alexey Andreev
c1b3deedff
Support @Inherited
annotation on annotations
...
Fix #883
2024-02-19 20:14:00 +01:00
Alexey Andreev
8db406c603
jso: implement exporting Java methods to JS
...
Fix #785
2024-02-15 21:00:10 +01:00
Bernd Busse
83e3306071
classlib: extend BigInteger implementation with xValueExact() and sqrt()
2024-01-24 21:56:12 +03:00
Bernd Busse
6a398c9b8d
classlib: properly duplicate inner map when cloning TreeMap
2024-01-24 20:46:26 +03:00
Alexey Andreev
4049bc529e
js: introduce setting to choose module type
2023-12-23 16:32:55 +01:00
J. Fronny
953c475b46
classlib: implement float support for String.format ( #873 )
2023-12-07 19:16:38 +01:00
Alexey Andreev
bb837bd020
classlib: replace usage of Math.log10 with custom implementation of int log10 algorithm
...
This fixes BigDecimal support on WASI, which does not support log10 at the moment
2023-12-07 19:14:55 +01:00
Alexey Andreev
a9af6e4f33
JSO: fix wrapping undefined value
2023-12-07 10:02:30 +01:00
J. Fronny
9093ad2f8a
classlib: implement String.chars() ( #872 )
2023-12-05 13:26:39 +01:00
Alexey Andreev
9757213379
JS: fix unwrapping JS objects implemented in Java
2023-11-26 21:57:19 +01:00
Alexey Andreev
a1355bb2f7
classlib: refactor LinkedHashMap
...
I found regression somewhere in LinkedHashMap, when certain operations cause cycle in entry list. Since updated logic was totally unclear to me, I rewrote it from scratch. Also, reverted mechanism to remove entries NOT by keys and used it where necessary to improve performance.
2023-11-23 21:19:28 +01:00
Alexey Andreev
be53236d23
JS: fix wrapping keys for native indexers
2023-11-20 20:33:47 +01:00
Alexey Andreev
7108dfbac7
classlib: fix Math exact operations in C and WebAssembly backends
2023-11-19 20:12:58 +01:00
Alexey Andreev
318d4bff93
Fix boxing/unboxing arguments and return values in method references
2023-11-19 20:12:58 +01:00
Jonathan Coates
4fc43a5597
classlib: fix toLowerCase
/toUpperCase
on Locale.ROOT
( #862 )
2023-11-19 21:45:32 +03:00
Alexey Andreev
fa5fa3df47
Suppress test failing in C
2023-11-19 18:40:48 +01:00
Alexey Andreev
0f84012008
Suppress tests failing in WebAssembly
2023-11-19 18:34:22 +01:00
Alexey Andreev
6e46ae8eec
classlib: get rid of Math polyfill in java.time implementation
2023-11-19 18:32:36 +01:00
Ivan Hetman
cd14ece14c
classlib: add Math methods for no-overflow addition/multiplication ( #859 )
...
Co-authored-by: Jörg Hohwiller <hohwille@users.sourceforge.net>
2023-11-19 20:14:23 +03:00
kenji yoshida
f5f8135a42
Add GitHub Actions CI ( #854 )
2023-11-14 22:03:43 +03:00
Ivan Hetman
5336fc9b3c
classlib: implement String.to__Case with locale parameter in JS BE ( #766 )
2023-11-14 16:57:09 +01:00
Alexey Andreev
f6741b49d6
WASI: update default test runner parameter for newer wasmtime versions
2023-11-09 10:58:34 +01:00
Alexey Andreev
547642503e
Suppress few tests for WebAssembly and C
2023-11-09 10:57:57 +01:00
Alexey Andreev
083ecbdad2
wasm/c: add support for class flags
2023-11-08 21:02:31 +01:00
Alexey Andreev
726702dd7f
wasm: fix programmatic initialization of a class that is statically initialized by optimizer
2023-11-08 19:59:24 +01:00
Jonathan Coates
9469e4c0b4
Widen byte/short to ints in ObjectMethods ( #853 )
2023-11-08 10:28:13 +01:00
Alexey Andreev
5b3c462ab8
c: suppress failing test
2023-11-08 10:04:15 +01:00
Alexey Andreev
6baccbf2bd
Use Gradle toolchains to run tests
2023-11-08 09:28:07 +01:00
Ivan Hetman
bd80c2dfce
classlib: fix parse and other issues in Long and Integer
2023-11-07 20:02:58 +01:00
Alexey Andreev
23ad999bbd
JS: get rid of IOException in SourceWriter and related classes
2023-10-31 20:09:55 +01:00
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
1061ad76b6
classlib: suppress test that fails in WebAssembly
2023-10-27 08:08:53 +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
02b3c92912
JS: use native string to represent internals of java.lang.String
2023-10-21 19:30:16 +02:00
Ivan Hetman
9242aeb750
classlib: Arrays corner cases fixes ( #825 )
2023-10-16 20:40:50 +03:00
Ivan Hetman
658ef711ab
classlib: additional stream collectors ( #822 )
2023-10-16 14:09:56 +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
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
Alexey Andreev
772dd9eded
JS: fix returning JSO objects from Async methods
...
Fix #805
2023-10-12 21:13:09 +02: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
Alexey Andreev
3971563cd8
Don't keep default test settings in gradle.properties
2023-10-08 20:20:10 +02:00
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