Commit Graph

145 Commits

Author SHA1 Message Date
Alexey Andreev
c15709994f Fix bug in decompiling nested catch blocks with complex control flow 2017-12-03 18:39:57 +03:00
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
59e5c16b31 Update version to 0.6.0-SNAPSHOT 2017-06-19 20:50:19 +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 5da32e3a65)

# 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 539a12227f)

# 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