Commit Graph

208 Commits

Author SHA1 Message Date
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
Alexey Andreev
f30a050bfd JS: relax several JSO declarations to accept Object instead of JSObject 2023-08-03 20:50:22 +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
4cfbca96b8 JS: fix visibility modifier for consistency 2023-07-31 13:13:35 +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
Ivan Hetman
db69f8ec58
JSO: TextMetrics addition 2023-06-06 10:04:01 +02:00
Alexey Andreev
7cd121ec97 JSO apis: remove wrong methods. See #695 2023-04-26 10:13:58 +02:00
Ivan Hetman
02a28613b4
jso apis: correct superinterface for Path2D (#690) 2023-04-11 12:58:19 +02:00