Commit Graph

217 Commits

Author SHA1 Message Date
Alexey Andreev
a97e6574ac Introduce concept of 'weak' cast.
Use weak casts to maintain proper typing within methods during various operations on IR. At generation level, ignore weak casts, except for Wasm GC BE, which turns weak casts into platform casts.
2024-08-18 18:47:04 +02:00
Ivan Hetman
2805631025
jso: add InputEvent (#902) 2024-08-14 14:48:21 +02:00
Ivan Hetman
2e59db3ab9
jso: SVG element base interface (#938) 2024-08-14 11:20:21 +02:00
Alexey Andreev
065aef581d jso: fix incorrect type inference for array element types
Fix #937
2024-08-12 17:32:54 +02:00
lasse-cs
98cd2efc0f
jso: add Popover API Wrappers (#934) 2024-08-03 19:53:14 +02:00
Alexey Andreev
a8d97ad387 wasm gc: cast receivers on devirtualized calls to actual argument type, avoid this cast when possible 2024-07-31 20:49:45 +02:00
pizzadox9999
8889b63df7 jso: add TouchEvent bindings 2024-07-18 18:38:15 +02:00
Alexey Andreev
1549a84b40 jso: remove JSByRef from IndexedDB method for which it's no more relevant
Fix #914
2024-05-12 16:19:11 +02:00
ihromant
d40bd9989b jso: add files and streams API 2024-05-04 21:20:29 +02:00
Alexey Andreev
19518eb191 jso: don't insert casts to JS classes in non-strict mode 2024-04-22 19:16:33 +02:00
Alexey Andreev
81fc843da3 jso: move interfaces from 'util.function' to 'function' subpackage, rename JSFunction to JSMapping to avoid name clash 2024-04-22 18:58:17 +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
931f0f1f4a jso: support varargs in exported classes and modules 2024-04-15 20:53:24 +02:00
Alexey Andreev
2331c9d7b6 fix checkstyle errors 2024-04-12 14:14:25 +02:00
Alexey Andreev
97aa42d87b jso apis: new convention for event registration 2024-04-12 13:45:12 +02:00
Alexey Andreev
272f55b383 jso apis: turn DOM interfaces into abstract classes
This would make it possible to test HTMLElement for particular type with instanceof
2024-04-12 13:00:05 +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
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
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
32ae1ab8f0 js: fix deobfuscator, use new ES2015 module builder 2024-03-13 15:44:18 +01:00
Ivan Hetman
994e01ec9d
jso: add vararg versions of 'add' methods to DomTokenList 2024-03-12 19:02:16 +01:00
Alexey Andreev
582fcf904c jso: implement vararg support for method calls 2024-03-12 18:56:19 +01:00
Alexey Andreev
ccfe19994b js: refactor and simplify AstWriter, properly fix case with variable in catch block 2024-03-06 20:24:35 +01:00
Alexey Andreev
e4452152b7 jso: improve JS class import to Java 2024-02-27 20:16:10 +01:00
Alexey Andreev
eb91577509 jso apis: removed unused field 2024-02-19 20:17:30 +01:00
Alexey Andreev
26b9ae4292 jso apis: add Window.scrollX
Fix #886
2024-02-19 20:16:50 +01:00
Bernd Busse
6788642ea9
JSO: add interface for Promise (#884) 2024-02-17 19:11:04 +01:00
Alexey Andreev
8db406c603 jso: implement exporting Java methods to JS
Fix #785
2024-02-15 21:00:10 +01:00
Bernd Busse
7f333cc73e JSO: make global objects available in WebWorker contexts (no hardcoded window) 2024-02-15 11:55:05 +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
Alexey Andreev
18e92a49e3 jso apis: fix declaration in IndexedDB API
Fix #874
2023-12-12 09:40:30 +01:00
Alexey Andreev
a9af6e4f33 JSO: fix wrapping undefined value 2023-12-07 10:02:30 +01:00
Alexey Andreev
067f7453fe JS: a better fix for wrapping/unwrapping JS objects implemented in Java 2023-11-27 13:05:51 +01:00
Alexey Andreev
9757213379 JS: fix unwrapping JS objects implemented in Java 2023-11-26 21:57:19 +01:00
Alexey Andreev
be53236d23 JS: fix wrapping keys for native indexers 2023-11-20 20:33:47 +01:00
Alexey Andreev
810012872c Add couple native declarations to JSO APIs. Update sample 2023-11-19 20:25:29 +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
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
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
Jörg Hohwiller
2513ceb236
Re-add module name org.teavm.jso (#817)
Fix #778
2023-10-14 19:35:23 +03:00
Jörg Hohwiller
aaef8672d4
Re-add module name org.teavm.jso.apis (#816)
Fix #778
2023-10-14 19:34:40 +03:00
Alexey Andreev
772dd9eded JS: fix returning JSO objects from Async methods
Fix #805
2023-10-12 21:13:09 +02:00
Alexey Andreev
eed44998f0 jso: trying to improve optimization of JSWrapper 2023-09-27 13:50:30 +02:00
Alexey Andreev
f0f3b060e9 JS: change type of MessageEvent.data back JSObject 2023-08-22 17:55:01 +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
35f1284ac5 js: fix issue in obfuscated mode 2023-08-04 10:27:44 +02:00