Commit Graph

1686 Commits

Author SHA1 Message Date
Alexey Andreev
d654896833 Remove unnecessary arrays if possible after generating methods via metaprogramming API. Arrays are unnecessary if they are only indexed by constants and never escape method. 2017-02-26 20:04:00 +03:00
Alexey Andreev
c6d4265f8b Fix generation of JS labels 2017-02-26 20:02:45 +03:00
Alexey Andreev
6d3b329540 Remove unnecessary comments and eliminate duplicate code 2017-02-26 13:52:06 +03:00
Alexey Andreev
a48e3fbd61 Write debug information via buffered stream 2017-02-26 13:51:19 +03:00
Alexey Andreev
17113533fc Implement default annotation values and annotations of method parameters in IR binary serializer 2017-02-26 13:49:45 +03:00
Alexey Andreev
3821d29f1c Don't allow user to change minifier settings via IDEA facet UI 2017-02-26 07:36:07 +03:00
Alexey Andreev
3e3b25bddc Fix serialization of IR to binary format for incremental build 2017-02-26 07:07:02 +03:00
Alexey Andreev
1d0230b4c6 Fix bytecode class renamer. Remove unnecessary files 2017-02-26 00:08:17 +03:00
Alexey Andreev
af9a01628f Add support of Metaprogramming.getLocation to metaprogramming API 2017-02-26 00:07:40 +03:00
Alexey Andreev
929e77bf69 Postpone execution code after wait method, since it's executed in a native callback which can't be async. When the code contains async calls, compiler produces error. 2017-02-25 19:52:05 +03:00
Alexey Andreev
a94686ddf6 Fix nullness detection on exception variable 2017-02-25 19:52:05 +03:00
Davin McCall
6ef08ae709 Fix errors in hasAsyncMethods() which cause it to return an incorrect result.
Previously the method could only ever return false.
2017-02-25 19:06:56 +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
891e3b8ea9 Don't generate call to <clinit> on each static method during AST rendering. Instead, extract from WASM transformation that adds InitClassInstruction to beginning of each method and reuse in in JS. This fixes some issues in async methods, without making AST renderer much more complicated. 2017-02-22 23:05:58 +03:00
Alexey Andreev
323911ffc9 Add kotlinc.xml to ignore list, since new Kotlin plugin generates this file 2017-02-22 23:03:19 +03:00
Alexey Andreev
e701cf90b0 Fix script that updates IDEA plugin repository. Update readme 2017-02-19 16:59:46 +03:00
Alexey Andreev
7d876668c5 Rename org.ow2.asm to org.teavm.asm in class loader during JPS build. Fix IDEA plugin deployment in travis 2017-02-18 23:50:31 +03:00
Alexey Andreev
b3f52409a7 Fix build 2017-02-18 20:35:04 +03:00
Alexey Andreev
0900f82585 Fix build 2017-02-18 20:26:02 +03:00
Alexey Andreev
036a805837 Add IDEA plugin build to travis config 2017-02-18 20:18:17 +03:00
Alexey Andreev
b4e88988f6 Build IDEA plugin via Maven 2017-02-18 16:57:52 +03:00
Alexey Andreev
4a5a502b62 Fix deployment to bintray 2017-02-16 22:55:30 +03:00
Alexey Andreev
1ea69b7d17 Trying to fix flaky test 2017-02-16 22:33:18 +03:00
Alexey Andreev
60f8633acb Build preview branches in Travis. Publish to bintray only from these branches 2017-02-16 22:25:14 +03:00
Alexey Andreev
5a8c3a9dae Replace build version suffix with 'dev' 2017-02-16 22:20:49 +03:00
Alexey Andreev
a3d13bc8c5 Skip Download(ing): prefix when calculating project version 2017-02-16 22:14:00 +03:00
Alexey Andreev
6817a7465d Pad build number with zeros. Log version number 2017-02-16 22:09:10 +03:00
Alexey Andreev
5958a6d04c Fix getting current version in travis build 2017-02-16 22:03:00 +03:00
Alexey Andreev
55453c9311 Set version to 0.5.0-SNAPSHOT. Add configuration to deploy to bintray. Update version number during Travis build. 2017-02-16 21:48:13 +03:00
Alexey Andreev
7b6013992c Embed metaprogramming implementation into uberjar for IDEA plugin 2017-02-15 22:49:22 +03:00
Alexey Andreev
d5dd608961 Fix ${project.version} in maven archetype. Add default value for optimizationLevel 2017-02-15 22:48:51 +03:00
Alexey Andreev
89f835540b Add unused variable elimination to standard optimization levels 2017-02-15 22:16:14 +03:00
Alexey Andreev
6c6e7c0d4d Fix build in travis. Seems they have old and buggy javac 2017-02-15 21:12:13 +03:00
Alexey Andreev
16c467f8e2 Merge pull request #244 from davmac314/cli-classaliases
Add a CLI option to set class aliases.
2017-02-15 21:08:13 +03:00
Alexey Andreev
c0a6b8dee8 Merge pull request #243 from davmac314/gaussian
Add implementation of Random.nextGaussian().
2017-02-15 21:06:07 +03:00
Davin McCall
d4b11e9817 Add a CLI option to set class aliases.
This adds the "--classalias" option which allows specifying a target
alias for a fully qualified class. The format is:

  --classalias fully.qualified.Name:TargetAlias
2017-02-14 00:06:59 +00:00
Davin McCall
5ff5b22529 Add implementation of Random.nextGaussian(). 2017-02-13 21:59:51 +00:00
Alexey Andreev
ccb4dff836 Fix bugs in metaprogramming. In JUnit runner reload about:blank page before every test 2017-02-13 23:43:49 +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
3402fd8ec9 Speed-up dependency analysis 2017-02-11 12:25:57 +03:00
Alexey Andreev
d6e3331063 Run optimized and minified versions of tests in surefure 2017-02-11 12:25:09 +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
Alexey Andreev
da3802d9c5 Merge branch 'master' of https://github.com/konsoletyper/teavm 2017-02-10 23:05:54 +03:00
Alexey Andreev
1a4fc066f8 Merge pull request #240 from davmac314/bugfix2
Fix first-time instantiation via reflection.
2017-02-10 22:31:45 +03:00
Alexey Andreev
7ff66af94e Merge branch 'master' of https://github.com/konsoletyper/teavm 2017-02-10 22:26:26 +03:00
Davin McCall
3d0dee98be Fix first-time instantiation via reflection.
In 7fc035f, a general fix to instantiation via reflection was made and a
test case added. The test case fails due to a separate issue, solved in
this commit, which affects only the first instantiation via reflection.
2017-02-09 14:53:26 +00: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
21ae63038e Improving benchmark: 1) show average time 2) allow to disable animation 2017-02-07 22:21:04 +03:00