Alexey Andreev
b792f48b55
classlib: add java.util.concurrent.CancellationException
2024-03-21 18:36:37 +01:00
Alexey Andreev
b2bfa494e6
classlib: add java.io.InvalidClassException
2024-03-21 18:34:12 +01:00
Alexey Andreev
e4452152b7
jso: improve JS class import to Java
2024-02-27 20:16:10 +01:00
Alexey Andreev
c95af17eae
classlib: fix javadoc warning
2024-02-19 20:18:03 +01:00
Alexey Andreev
c1b3deedff
Support @Inherited
annotation on annotations
...
Fix #883
2024-02-19 20:14:00 +01:00
Bernd Busse
be09e698ea
classlib: remove hardcoded dependecy to TRoundingMode in NumberFormat
2024-02-17 21:05:55 +03:00
Bernd Busse
cf850157f0
classlib: fix javadoc warnings
2024-02-15 11:59:43 +03:00
Alexey Andreev
6ac598b927
js: add limit for top-level declarations
...
Rationale: turns out that V8 utilizes stack even to represent module-level functions.
This can cause SOE when there's too many classes and methods in source JVM
2024-02-01 09:41:50 +01:00
Bernd Busse
83e3306071
classlib: extend BigInteger implementation with xValueExact() and sqrt()
2024-01-24 21:56:12 +03:00
Bernd Busse
4e076a65ee
classlib: add BigInteger constant TWO added in Java 9
2024-01-24 21:56:12 +03:00
Bernd Busse
9280992661
classlib: add minimal SecureRandom implementation
...
- Utilizes JavaScript's window.crypto.getRandomValues() when available,
otherwise uses the general Math.random() as fallback.
- No support for providers
- No support for proper randomness sources on non-JS backends
2024-01-24 20:48:28 +03:00
Bernd Busse
1964235fef
classlib: directly use Math.random() in Random
...
Math.random() already handles the implementation for the backends,
delegating to JavaScript's Math.random() or the C runtime
implementation.
Fixes duplicate symbols when using the WASM backend.
2024-01-24 20:48:28 +03:00
Bernd Busse
6de4560282
classlib: implement Cloneable for TreeSet
2024-01-24 20:46:26 +03:00
Bernd Busse
6a398c9b8d
classlib: properly duplicate inner map when cloning TreeMap
2024-01-24 20:46:26 +03:00
Bernd Busse
2318caad7b
classlib: add static nullOutputStream() to OutputStream ( #878 )
2024-01-24 20:44:59 +03:00
Alexey Andreev
facf3c496f
classlib: get rid of call to Math.log
2023-12-07 19:55:47 +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
J. Fronny
9093ad2f8a
classlib: implement String.chars() ( #872 )
2023-12-05 13:26:39 +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
3282ae3b59
Refactor mechanism that resolves methods and fields parsed from bytecode and reports errors about missing items
2023-11-20 19:50:20 +01:00
Alexey Andreev
810012872c
Add couple native declarations to JSO APIs. Update sample
2023-11-19 20:25:29 +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
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
Jonathan Coates
8fa1a86728
classlib: add further nio stubs ( #863 )
...
- Add {FileAlreadyExists,NoSuchFile,NotADirectory}Exception.
- Add OpenOption interface and StandardOpenOption enum.
2023-11-19 20:11:20 +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
Jonathan Coates
9469e4c0b4
Widen byte/short to ints in ObjectMethods ( #853 )
2023-11-08 10:28:13 +01:00
Jonathan Coates
2256b293ab
classlib: fix missing .shift() in ReferenceQueue.poll ( #852 )
2023-11-08 09:07:31 +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
9c6f23d280
classlib: optimize console output in JS backend
2023-11-07 20:00:33 +01:00
Alexey Andreev
21137c57a3
JS: merge let statements to get better minification; rewrite some Array methods to generate less dependencies on runtime
2023-11-06 19:18:18 +01:00
Alexey Andreev
6738d6f1f8
JS: add remembering source writer, refactor PreparedMethod and Renderer to use it, get rid of $rt_globals
2023-11-02 19:03:10 +01:00
Alexey Andreev
23ad999bbd
JS: get rid of IOException in SourceWriter and related classes
2023-10-31 20:09:55 +01:00
Alexey Andreev
32ee8943c1
JS: rewrite more natives with templates, get rid of runtime aliases in minification mode
2023-10-31 19:29:32 +01:00
Ivan Hetman
2756fe4384
classlib: more argument validation in Collections methods ( #839 )
2023-10-31 09:46:43 +01:00
Ivan Hetman
5b5c26cf99
classlib: minor improvements ( #843 )
...
* String.substring performance
* More argument validation in String methods
* Object.checkFromIndexSize corner case for large indexes
* ByteBuffer.wrap argument validation
2023-10-31 09:45:23 +01:00
Alexey Andreev
a1cc817504
JS: rewrite more native generators with templates, fix issues in template engine
2023-10-29 20:17:18 +01:00
Alexey Andreev
7c4aa522d3
Add missing file
2023-10-29 17:17:38 +01:00
Alexey Andreev
eb0f4fb090
Improve JS templating so that it could be used in native generators
2023-10-29 17:16: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
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