Alexey Andreev
cc04c3446d
Add support for several JDK classes and functions
2017-11-26 17:10:56 +03:00
Alexey Andreev
608e62ae3b
Add support of stream API
2017-11-26 13:13:33 +03:00
Alexey Andreev
62f639f92b
Properly report missing virtual methods
2017-11-19 14:36:04 +03:00
Alexey Andreev
0e5b1a97c1
Add PipedInputStream and PipedOutputStream
2017-11-16 15:11:58 +03:00
Alexey Andreev
82b96da215
Add StreamTokenizer
2017-11-16 15:11:58 +03:00
Alexey Andreev
30da395304
Add BufferedWriter
2017-11-16 13:43:31 +03:00
Alexey Andreev
c9485ccbdc
Add tests for FileInputStream and FileOutputStream
2017-11-16 00:19:00 +03:00
Alexey Andreev
a96b5912c7
Uncomment previously failing File tests and fix bugs in File implementation
2017-11-16 00:19:00 +03:00
Alexey Andreev
105c188953
Fix nested exception handlers
2017-11-16 00:19:00 +03:00
Alexey Andreev
23c25c5d6e
Add tests for java.io.File. Improve its implementation to pass tests
2017-11-15 00:13:07 +03:00
Alexey Andreev
2bbdf6caba
Rename DependencyChecker to DependencyAnalyzer
2017-11-12 23:21:16 +03:00
Alexey Andreev
840b9dfe8b
Fix message format tests
2017-11-03 21:59:21 +03:00
Alexey Andreev
344cb4e42d
Fix T[].clone()
2017-11-03 21:58:48 +03:00
Alexey Andreev
90cc2c4677
Add implementation of java.text.MessageFormat
2017-11-03 00:32:16 +03:00
Alexey Andreev
5109691a8d
Implement java.util.Formatter for subset of available specifiers
2017-10-30 00:03:30 +03:00
Alexey Andreev
ffbfd7df79
Add minor stuff to classlib
2017-10-26 20:17:09 +03:00
Alexey Andreev
74be67038d
Implement ResourceBundle
2017-10-26 20:11:24 +03:00
Alexey Andreev
f61567dfde
Implement StringWriter and PrintWriter
2017-10-26 15:51:01 +03:00
Alexey Andreev
5c436c3391
Improve node.js test runner: send response after each test, update timeout after each test.
2017-10-26 14:11:56 +03:00
Alexey Andreev
de14a57fe1
Change how method resolution work in DCE and devirtualization.
...
Since in Java 8 there are default methods in interface, method
resolution algorithm becomes more complicated. This alseocauses
several related changes.
1. Resolve methods as late as possible; do not resolve
virtual call sites during DCE.
2. Due to several reasons we have to improve linking phase
to preserve super methods that aren't actually ever called,
but present in virtual call sites.
Related issue: #311
2017-10-22 17:56:31 +03:00
Alexey Andreev
daf0f03634
Fix Boolean.getBoolean(String). Fix various minor issues with system properties
...
See #306
2017-10-13 16:06:10 +03:00
Alexey Andreev
0b985b95d1
Implementing java.util.EnumMap
2017-10-12 15:13:55 +03:00
Alexey Andreev
e885ebdbbb
Move tests from TArrayDequeTests to proper location
2017-10-10 23:59:55 +03:00
Alexey Andreev
26824f1399
Add some properties-related methods to System class
2017-10-10 12:56:51 +03:00
Alexey Andreev
dfaeb46c5e
Implementing EnumSet
2017-10-08 21:40:45 +03:00
Alexey Andreev
669594fc9c
JS: add reflection support for methods
2017-07-17 22:21:17 +03:00
Alexey Andreev
4171d468d4
JS: add reflection support for constructors
2017-07-17 22:21:17 +03:00
Alexey Andreev
c4c5635f88
Add reflection support for constructors
2017-07-17 22:21:16 +03:00
Alexey Andreev
31f9ca57ce
Add reflection support for fields
2017-07-17 22:21:16 +03:00
Alexey Andreev
d4903d460b
Reformat test code to conform checkstyle settings
2017-07-01 15:47:46 +03:00
Alexey Andreev
cdec4560ba
Remove dumb comments containing only @author annotation
2017-07-01 13:13:52 +03:00
Alexey Andreev
d982f89ab6
Add missing folder to CLDR archive. Fix tests WRT changes in CLDR.
2017-06-25 13:36:35 +03:00
Alexey Andreev
40b29cdfa1
Add support for altMetafactory
2017-06-18 21:22:44 +03:00
Alexey Andreev
2992c6e406
Wrap function by an object if returning value of native method is
...
a JSFunctor interface.
See #280
2017-06-11 00:15:41 +03:00
Alexey Andreev
45ba247265
When Java class gets exported to JS, generate bridges for its
...
methods so that these bridges perform type conversion
between Java and JS
2017-06-09 00:02:28 +03:00
Alexey Andreev
d324847fe6
Fix flaky test (hopefully)
2017-06-07 14:36:44 +03:00
Alexey Andreev
ba7f07de4b
Copy default methods from interfaces to implementing classes
2017-06-06 22:42:21 +03:00
Alexey Andreev
ad14176277
Fix JSO tests from previous commits
2017-05-31 22:52:34 +03:00
Alexey Andreev
933a5c3efc
Code style fixes
2017-05-30 22:49:40 +03:00
marciodel
5ecfb3620c
Support for default and static methods in Functors
2017-05-30 22:45:14 +03:00
Alexey Andreev
3791b806b9
Weaken rules for names of JSProperty methods
...
First, accept first character if it's a non-letter character.
Second, don't validate name of method when JSProperty specifies
name of the JS property explicitly.
See #277
2017-05-29 23:54:43 +03:00
Alexey Andreev
c0ed3d54d7
Fix base64 support
...
(cherry picked from commit 5da32e3a6583493a36c87bc02c8177a7740faaf7)
# Conflicts:
# tests/src/test/java/org/teavm/classlib/java/lang/TestResourcesSupplier.java
2017-05-29 23:26:34 +03:00
Alexey Andreev
b1b98097ee
Improve ResourceSupplier API
...
(cherry picked from commit 539a12227f79abdb4ce22aac2dbc647f1c09f083)
# Conflicts:
# classlib/src/main/java/org/teavm/classlib/java/lang/ClassLoaderNativeGenerator.java
# tests/src/test/java/org/teavm/classlib/java/lang/TestResourcesSupplier.java
2017-05-29 23:22:59 +03:00
Alexey Andreev
25b298b1d0
JS: fix ClassLoader.getResourceBundle for non-existent resources
2017-05-29 23:19:07 +03:00
Alexey Andreev
2d5f6a81c2
Improve peformance of Long.hashCode
2017-05-07 22:18:10 +03:00
Alexey Andreev
48d14570b2
Make Long/Float/Double/Integer compare/hashCode methods cross-platform
2017-05-07 22:06:44 +03:00
Alexey Andreev
e884bb35c9
Fix System.setErr/setOut methods
2017-05-07 21:32:35 +03:00
Alexey Andreev
293e82a3c0
In class inference add rules for known types of method parameters
...
and method return value
2017-04-27 00:14:14 +03:00
Alexey Andreev
3c4ec550c4
Fix test runner
2017-04-23 23:51:16 +03:00
Alexey Andreev
6ecfefe9c8
Testing travis setup
2017-04-22 20:08:30 +03:00
Alexey Andreev
6298e2c498
Testing travis setup
2017-04-22 18:57:06 +03:00
Alexey Andreev
60bcf97933
Use websocket client to run tests
2017-04-22 18:14:55 +03:00
Alexey Andreev
519cd71636
Change presentation of test suites in headless chrome runner
2017-04-22 11:32:19 +03:00
Alexey Andreev
80194f054e
Fix flaky test
2017-04-22 00:47:47 +03:00
Alexey Andreev
8e67fe0168
Escape undefined unicode characters in string literal
2017-04-22 00:38:04 +03:00
Alexey Andreev
d5db7270be
Move expected exception handling off test runner.
...
Implement it in launcher genertor instead
2017-04-22 00:26:43 +03:00
Alexey Andreev
e6606302cc
Add test runner on headless chrome
2017-04-21 23:51:35 +03:00
Alexey Andreev
4847731328
Fix SOE when calling Throwable.getCause()
...
Fix https://github.com/konsoletyper/teavm/issues/249
2017-03-27 22:27:59 +03:00
Davin McCall
95f07d80a7
Add a test for an issue which I believe is caused by failure to identify
...
an asynchronous method.
Unfortunately I am unable to actually produce a failing test; instead an
exception message is generated during test execution. This seems to be an
issue with the test runner mechanism.
2017-02-25 19:06:56 +03:00
Davin McCall
651532c203
Add test for asynchronous class initialisation from asynchronous constructor.
...
(cherry picked from commit 34961e4)
2017-02-22 23:10:07 +03:00
Alexey Andreev
1ea69b7d17
Trying to fix flaky test
2017-02-16 22:33:18 +03:00
Alexey Andreev
edb3d2ff48
Fix generation of meta method when its discriminator class denotes array type
2017-02-12 00:23:53 +03:00
Alexey Andreev
19e8e06446
Fix creation of multi-dimensional arrays with zero dimensions. See https://github.com/konsoletyper/teavm/issues/239
2017-02-11 23:23:50 +03:00
Alexey Andreev
816a17dfc0
When Value.get() called in metaprogramming lambda and not assigned anywhere, capture instance anyway so that if it's a lazy value, it will be computed
2017-02-10 23:49:03 +03:00
davmac314
7fc035fd8a
Fix asynchronous instantiation via reflection. ( #238 )
...
Fix asynchronous instantiation via reflection. The generated code resumes
from a thread suspension event, but won't appropriately re-suspend if the
constructor suspends.
2017-02-09 16:29:50 +03:00
Alexey Andreev
f6103ec00b
Copy exception variables when splitting async programs. Fix https://github.com/konsoletyper/teavm/issues/230
2017-01-28 22:39:44 +03:00
Alexey Andreev
02d8439920
When copying basic blocks in async splitter, copy exception variable as well. Fix https://github.com/konsoletyper/teavm/issues/230
2017-01-24 23:59:54 +03:00
Alexey Andreev
c7829a77cf
Fix diagnostics tests
2017-01-24 23:42:41 +03:00
Alexey Andreev
5c936878a7
Update JSO apis
2017-01-23 23:27:57 +03:00
Alexey Andreev
c1cddc5a71
Add JSByRef annotation to specify which parameters to pass to JS by reference
2017-01-23 23:10:35 +03:00
Alexey Andreev
645b2b7cd5
Add local type inference to use in optimizations
2017-01-09 19:16:51 +03:00
Alexey Andreev
ad39024795
Prevent PhiUpdater from placing e-phis with source variable equal to receiver
2016-12-03 13:46:02 +03:00
Alexey Andreev
10bb4ef3da
Fix range checking in AbstractList.subList. Add RandomAccess to object returned by Arrays.asList
2016-12-03 11:05:33 +03:00
Alexey Andreev
24efd1f49c
Fix support of async <clinit> when called by getstatic/putstatic
2016-11-20 17:50:47 +03:00
Alexey Andreev
764c9bbb1e
Working on support of async <clinit> methods
2016-11-17 23:24:16 +03:00
Alexey Andreev
f61cfb23b5
After inlining remove unreachable basic blocks and unused variables. When removing unreachable basic blocks, remove corresponding phi inputs as well.
2016-11-06 21:12:59 +03:00
Alexey Andreev
daf5ada5c6
Fix converting JS floating-point numbers to long ( fix #228 ).
2016-11-04 14:12:51 +03:00
Alexey Andreev
6f5c6cd66e
Move VM tests off classlib package
2016-11-04 13:34:25 +03:00
Alexey Andreev
8c3f071f88
Fix updating size in LinkedList.remove ( fix #226 ).
2016-11-04 13:28:34 +03:00
Alexey Andreev
9143714168
Refactor target API. Add ability to generate wast and C from wasm target
2016-09-17 09:19:32 +03:00
Alexey Andreev
9fb97fd53f
Refactoring
2016-09-17 09:00:40 +03:00
Alexey Andreev
47997cde87
Rename target package to backend to avoid gitignore
2016-09-17 08:59:00 +03:00
Alexey Andreev
52ace0c252
Refactor TeaVM to support pluggable targets like JavaScript, WebAssembly, LLVM, etc (with only JavaScript target for now)
2016-09-17 08:55:44 +03:00
Alexey Andreev
1f30e5fd88
Add test to prove that all modification to a local variable are visible in a corresponding catch block
2016-09-17 08:55:19 +03:00
Alexey Andreev
6196dc80ed
Fix bug in phi updater. Fix tests
2016-09-17 08:43:56 +03:00
Alexey Andreev
d912ba4af3
Invert loops only when it's profitable (causes invariants to dominate exits). Improve LICM to move invariants with side effects
2016-09-17 08:42:54 +03:00
Sergey Kapralov
d1ade89ed4
TMap new methods are covered with tests
2016-08-25 17:12:03 +03:00
Sergey Kapralov
ec2a52900e
TMap.compute fixed and tested
2016-08-25 11:13:08 +03:00
Alexey Andreev
559f7f7e42
Fix ByteArrayInputStream.read. Fix https://github.com/konsoletyper/teavm/issues/213
2016-08-18 21:34:18 +03:00
Alexey Andreev
a3f60996e2
Fix https://github.com/konsoletyper/teavm/issues/196
2016-07-28 22:23:39 +03:00
Alexey Andreev
3c93b78902
Implementing loop inversion
2016-05-09 18:13:00 +03:00
Alexey Andreev
f63ec25ed3
Move metaprogramming API implementation into separate module
2016-04-12 22:54:32 +03:00
Alexey Andreev
84d9899b3e
Implement metaprogramming proxies
2016-04-06 23:02:15 +03:00
Alexey Andreev
b0e9f6f7a5
Add test case for lazy-based conditional that ignores its result
2016-03-02 23:28:13 +03:00
Alexey Andreev
5564b47b9f
Add tests for lazy evaluation
2016-03-01 23:00:21 +03:00
Alexey Andreev
518e13cf07
Add several tests for metaprogramming
2016-02-29 23:07:20 +03:00
Alexey Andreev
3e562aa08a
Simple metaprogramming test passes
2016-02-27 18:46:27 +03:00
Alexey Andreev
4819eee3ef
Add support of TeaVMProperties annotation
2016-02-27 16:16:37 +03:00
Alexey Andreev
5576275998
Improving JUnit test runner
2016-02-26 23:48:04 +03:00
Alexey Andreev
d103306c3e
Improving JUnit test runner
2016-02-23 21:40:51 +03:00
Alexey Andreev
2b3cba69bc
Run JUnit tests via JUnit runner instead of Maven plugin
2016-02-23 18:46:32 +03:00
Alexey Andreev
1826e04951
Add class handling in dependency checker
2016-02-22 19:29:51 +03:00
Alexey Andreev
5dad013cc7
Migration to IDEA
2016-02-07 14:28:51 +03:00
Alexey Andreev
d718177fe0
Improve resource loading contributed by Jaroslav:
...
* Implement base64 decoder instead of atob, which is not supported
by IE9
* Avoid direct usage of window identifier to prevent global namespace
from spoiling
* Make customizable approach to supply list of resources to write
into JavaScript
2015-12-26 13:26:34 +03:00
Alexey Andreev
03538071c4
Prevent JSBody from inlining if its argumet get used more than once
2015-12-25 21:48:32 +03:00
Alexey Andreev
0369d100c6
Make JSBody report about wrong parameter/returning type/instance type to
...
avoid confusion like this:
https://github.com/konsoletyper/teavm/issues/164
2015-12-25 19:04:54 +03:00
Alexey Andreev
b61849ce80
Fix metaprogramming bugs
2015-12-10 23:05:17 +03:00
Alexey Andreev
7c4b4ebe77
Fix bug. Integrate precedence API into JSO
2015-10-11 18:03:46 +03:00
Alexey Andreev
6d23626867
Refactor precedence support
2015-10-11 17:30:28 +03:00
Alexey Andreev
0aa8f8bda7
Fix date format tests to not depend from time zone
2015-10-11 11:54:37 +03:00
Alexey Andreev
4082c6389a
Fix LinkedList.push and .element methods
2015-10-08 19:59:38 +03:00
Alexey Andreev
3341df3668
Change directory structure
2015-10-04 11:49:20 +03:00