Giter Club home page Giter Club logo

jtransc / jtransc Goto Github PK

View Code? Open in Web Editor NEW
628.0 41.0 67.0 16.47 MB

Bytecode to source converting Java & Kotlin code into JavaScript, C++, D, C#, PHP, AS3, Dart and Haxe and run it everywhere. Also use JVM code in your favourite language as a library.

Home Page: https://jtransc.soywiz.com/

License: Apache License 2.0

Kotlin 11.43% Java 84.64% Batchfile 0.01% Shell 0.01% HTML 0.27% JavaScript 0.49% C++ 2.44% C# 0.18% CMake 0.02% Dart 0.52%
kotlin jvm jtransc d csharp javascript haxe as3 php cpp

jtransc's Introduction

JTRANSC

JTransc

Maven Version Build Status Build status Code coverage gitter

Documentation

You can find documentation at the wiki.

What is this?

JTransc (Java Trans Compiler) is an AOT (ahead of time compiler) that compiles .class and .jar files into a target programming language / executable bundling all the required dependencies in a single file or folder, without requiring a jitter or an external runtime.

Why using JTransc?

There are a lot of technologies in order to convert languages into other ones. For example, converting Java into JavaScript. Or KotlinJS Kotlin backend that already targets JavaScript. So why using JTransc?

Mixed input code:

One reason is that JTransc allows mixed projects. You can use Java libraries with Kotlin code for example.

Multiple targets:

Instead of using several technologies, JTransc allows you to target to several languages and platforms.

Consistency:

Using just one technology guarantees consistency between targets. For example, Kotlin JS doesn't support full Java reflection.

Native:

Instead of generating C++ and then using emscripten or other technologies, JTransc allows you to generate code that is native to your platform. For example: when targeting JS you will use native JS best-in-class GC instead of a GC emulated in C++ & emscripten. And no need to know a proper heap size beforehand targeting JS.

Native facilities:

Some classes like String, StringBuilder or ArrayList are implemented in a way that it uses native JavaScript/AS3/Dart... facilities. Like JavaScript String, Array and so on.

Treeshaking:

Instead of generating huge projects including everything, or having complex proguard configuration files. JTransc includes treeshaking in a simple way. You can use annotations to keep methods, classes and fields or another annotations. It works for all targets and it is fully integrated in the workflow.

Thread and sync I/O support in JS:

JTransc supports plain Java applications using Threads and sync I/O in JS converting that into an asynchronous version in JS using await/async detecting branches not using Threads/sync I/O for fastest performance.

Support this project

Along JTransc, I'm writting a set of libraries to be able to use JTransc.

https://github.com/soywiz/korlibs

Kotlin Game Engine that uses JTransc for multiplatform: https://github.com/soywiz/korge

Also there is a GDX backend using JTransc+Haxe: https://github.com/jtransc/gdx-backend-jtransc

JTransc

Detailed: What is this?

JTransc (Java Trans Compiler) is an AOT (ahead of time compiler) that compiles .class and .jar files into a target programming language / executable bundling all the required dependencies in a single file or folder, without requiring a jitter or an external runtime.

At the beginning it generated as3 and javascript, but right now there are several targets: Javascript, Haxe, C++, and D. Haxe itself allow to target several other languages: JS, AS3, C++, C#, Java, PHP and Python. This in turn allows running the program on different platforms such as desktop, browsers and mobile.

The aim of this project is to bring the high productivity of Kotlin (and other JVM languages) to the highly portable Haxe platform. It already supports most of the core Java APIs and plain Java reflection API out of the box.

The initial focus is on JVM6, Kotlin and Games, but it will get better in the future supporting newer jvm versions, and other use cases like frontend and backend applications.

Right now JTransc support Java8 lambdas and default methods.

There is a module called jtransc-rt-core that could be included in any project (whether using JTransc or not). It provides the com.jtransc package, specific annotations, fast memory access and asynchronous APIs, that will use JTransc features when compiling using JTransc.

These is also a couple of projects for multimedia applications using jtransc:

  • jtransc-media - Which provides a very simple and portable high-level API for multimedia
  • gdx-backend-jtransc - Which provides a gdx-compatible backend so any gdx project will be able to work (still some rough edges)

How to use it?

You can find examples here jtransc/jtransc-examples.

Plain:

# jtransc script can be found under the jtransc-main-run folder
javac com/test/Main.java -d target/classes
jtransc dependency.jar target/classes -main com.test.Main -out program.js
node program.js

Gradle:

This is the preferred way of using JTransc. You can include it from maven central or directly from gradle plugins repository:

plugins {
  id "com.jtransc" version "0.6.8"
}

This will add several tasks for building your application. There is a gradle block called jtransc, that allows you to specify stuff for the build.

For example gradle runJs would generate a JS file at build/jtransc-js/program.js and run it using node.js.

You can see how to use it in the documentation.

Maven:

You can also use Maven, though due to the nature of JTransc gradle fits better. You can see how to use it in the documentation.

intelliJ:

There is a plugin in the works that will allow to run and debug within intelliJ. Though it is not ready yet. You can find it in jtransc-intellij-plugin folder.

How does it work internally?

  • It locates all the required dependencies (specifying dependencies using gradle, maven, intelliJ or CLI)
  • It includes jtransc-rt-core and jtransc-rt which is a java-6-like (with some Java8 support) RT with some of its methods marked as native
  • Other dependencies than the RT are included without modifications
  • It uses ASM library to load class files, and has code to generate a class-method-statement-expression AST
    • That AST is easily serializable
    • That AST allows feature stripping
    • Your target language don't support gotos? It will generate an AST without gotos. Just plain if/while/switch...
  • It generates your target source code, replacing some classes like String, ArrayList and so on, to make them fast in your target language.
  • It joins or compiles that code into your final runnable program (using available compilers when required)
  • It allows to run directly executing the executable or using an appropiate interpreter (php, node, electron...) depending on the build

Eventually that intermediate AST will be able to be generated or consumed. So others could generate that without JVM and others could generate other targets from that AST directly without all the complexities of stack-based IRs.

Tool dependencies:

Java:

  • Oracle JDK8 (Verified 8u131)
  • Android SDK Tools (Verified 25.2.3)

For the Haxe target:

  • Haxe 3.4.2
  • NekoVM 2.1.0
  • Lime 5.5.0
  • hxcpp 3.4.64

For Node.JS running:

  • NodeJS 7.10.0 with npm 4.2.0

For D target:

  • DMD2 or GDC or LDC (Verified dmd-2.074.0)

For C++ target:

  • Clang++ or g++ (At least gcc 4.8)

For Dart target:

  • Tested with Dart VM version: 1.23.0

Verified on Windows 10.0.15063 and macOS Sierra 10.12.4

Installing JDK

  • Install JDK8
  • Setup $JAVA_HOME This sample, but maybe not working for you, be careful
echo "export JAVA_HOME=$(/usr/libexec/java_home)" >> ~/.bash_profile
source ~/.bash_profile

Installing Haxe

  • Install Haxe from here via installer
  • Set path to haxelib running "haxelib setup" command
  • Install Lime haxelib install lime 5.5.0
  • Install hxcpp haxelib install hxcpp 3.4.64
  • Run haxelib run lime setup

######openfl/lime#831

  • Run lime setup android If try install you gain Out of Memory, choose manual mode.
Download and install the Android SDK? [y/n/a] ? n
Download and install the Android NDK? [y/n/a] ? n
Download and install the Java JDK? [y/n/a] ? n

Path to Android SDK [C:\tools\android-sdk]:
Path to Android NDK []: C:\tools\android-ndk
Path to Java JDK [C:\Program Files\Java\jdk1.8.0_131]:

Setup AppleTV

  • Run lime rebuild hxcpp tvos
  • Remove stable lime haxelib remove lime
  • Install lime from GitHub git clone --recursive https://github.com/openfl/lime
haxelib dev lime lime
haxelib install format
lime rebuild mac
lime rebuild ios
lime rebuild tvos

Installing Node.JS

Installing D

  • Download DMD
  • Install DMD with all extras

Installing C++ suitable compiler

WINDOWS

Workaround for big projects: haxe 3.4.2 can failed with out of memory. You can try replace haxe files from develop, but this dangerous way, and get only stable, see history on github. My current choose: 2017-03-23 05:39:01 >> 4876859 >> haxe_2017-03-23_development_ada466c.tar.gz

WINDOWS 64

  • go to hxcpp/3.4.64 folder in console neko run.n Build.xml -Dwindows -DHXCPP_M64 -Dstatic_link ./project/
  • Remove stable lime haxelib remove lime
  • Install lime from GitHub git clone --recursive https://github.com/openfl/lime -b master
haxelib dev lime lime
haxelib install format

if use MSVC 2013 with not fully supported c99 standard, then replace in lib\openal all inline to __inline, and snprintf to _snprintf

lime rebuild windows -64

MAC

  • Install Xcode 8.3.3
  • This XCode have problem with logs for iPhone with iOS 10.3.2. Please see solution
  • Related to pure C++ target on mac: brew install automake libtool pkg-config
  • Install Mono 5.0.1.1 ??? #167
  • For upload on iPhone/iPad from command line sudo npm install -g ios-deploy --unsafe-perm --allow-root

Installing Dart

jtransc's People

Contributors

dsp-omen avatar fxzjshm avatar gmadorell avatar intrigus avatar jayvdb avatar jlleitschuh avatar madratsrp avatar rgomezcasas avatar soywiz avatar timyates avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jtransc's Issues

Decouple multimedia code

We should do #1 first. We should be able to use raw lime or kha within jvm.

We should move JTranscRendering, JTranscInput, JTranscAudio and jtransc-game to other repository. And we should have an implementation done in java using lime or kha and other using libgdx or raw lwjgl.

In demos/games we should have a couple of mains; one plugging in haxe implementation and other plugging in libgdx implementation.

Using jtransc from cli doesn't work

Hi, I'm trying the example from here
I'm running it like this:
../jtransc . -main HelloWorld -release -out program.swf -run
But it fails with

Unable to parse command line options: Unrecognized option: -main

usage: mvn [options] [<goal(s)>] [<phase(s)>]

Bug with apache commons dependency

I tried using jtransc with the code below but it failed. Any tips?

import static java.lang.Math.abs;

public class ApacheCommonsEquals {
    public static void main(String[] args) {
        float x   = 1.0f;
        float y   = 3.0f;
        float eps = 0.001f;

        System.out.println(equals(x, y, eps));
    }

    private static final int SGN_MASK_FLOAT = 0x80000000;

    public static boolean equals(float x, float y, float eps) {
        return equals(x, y, 1) || abs(y - x) <= eps;
    }

    public static boolean equals(float x, float y, int maxUlps) {
        int xInt = Float.floatToIntBits(x);
        int yInt = Float.floatToIntBits(y);

        // Make lexicographically ordered as a two's-complement integer.
        if (xInt < 0) {
            xInt = SGN_MASK_FLOAT - xInt;
        }
        if (yInt < 0) {
            yInt = SGN_MASK_FLOAT - yInt;
        }

        final boolean isEqual = abs(xInt - yInt) <= maxUlps;

        return isEqual && !Float.isNaN(x) && !Float.isNaN(y);
    }
}

[Size optimization] Rename class fqnames and field and method names + compress descriptors/signatures

Since we already have reflection info that maps java names into haxe names, we could just rename long fqnames and methods into something like just "A" with a <minimize> or <obfuscate> option that would greatly reduce output size for release versions.

So the full name will just appear once and all the references would use a short name.

We have to determine what to do from haxe code that references java. Maybe we should avoid that in these cases and start being able to call haxe from java to implement stuff in there.

We could also compress descriptors/signatures: descriptor could be obtained from signatures. And instead of using full fqnames maybe we could use numbers to reference types. We could even use Base64 VLQ to encode those numbers efficiently. After processed we should reconstruct descriptors/signatures so reflection API and usercode can use them.

Instead of calling ot HaxeReflect.method, we could too make a single call to reduce size even more. Describing the whole type with a single call with a long string with all the information included.

Enable SIMD

It would be great to have simd-enabled APIs

Build currently failing due to Central version; consider JitPack?

This is just a suggestion, but...

I've started using JitPack (a Maven-Central-like jar repository that builds GitHub releases of Maven, Gradle, and other projects whenever someone depends on them, and also allows building and depending on individual commits) often for my Java code, and it seems to be holding up well. The build status on Travis CI currently seems to be failing due to 0.2.1 not yet being uploaded to Maven Central, and I know some of the Central requirements are annoying and time-consuming. At least during development, maybe you could try changing the dependencies of projects to JitPack? 0.2.1 is ready to build once a project depends on it and requests it from JitPack, since there's a GitHub release; see this for more https://jitpack.io/#jtransc/jtransc/0.2.1 .Central doesn't allow other repositories to be used on projects hosted on their repository, but you could switch out the JitPack repository for Central if you have a stable build you want available via the standard way.

Only downside is, the first person to request a version or commit needs to wait for the project to build, and if any of the Maven projects depend on Haxe to complete a mvn install step (without running tests), there probably won't be any way for JitPack to build each release. Although, Travis CI seems to be doing fine, and I don't know if it has Haxe installed. If you log in to JitPack with your GitHub account, you can tell JitPack to try to build a release or commit early, in case you want a release to build "in the background" and then be available to other projects when they request it in a few minutes.

I don't know if this is a valid suggestion for this particular project, but I think it might help ease the hassle of releasing.

Pure C++ target (with optional Swift/Objective-C support)

It was pretty easy to add the new pure-javascript target: https://github.com/jtransc/jtransc/tree/master/jtransc-gen-js

So investigate in future versions (after stabilizing stuff, probably after 1.0) to generate a C++ target with GC (and optionally ARC).

Optional / Future / Optimization:
For ARC there is already a @JTranscWeak annotation that could allow to specify weak stuff to avoid leaks.
Runtime should be updated to support this (annotating fields with the weak annotation) and code and libraries must be annotated too.
This could allow to use emscripten to generate ASM.js/WASM as commented here: #38

Debugger

In order to be able to debug within intelliJ.

A first step would be:

To create a server compatible with java debugging that connects to javascript or haxe debuggers and transforms commands and results.

Another step could be to create a intelliJ plugin that directly connects to proper debugger protocol.

Use Android/Dalvik SDK

To avoid problems with java licensing, we should do the same as ikvm does:
http://weblog.ikvm.net/

We should use clean openjdk, then just provide here implementations of classes that are different, and give them priority when loading.

That would also improve JVM compatibility, though probably code size will grow due to higher interdependency of the openjdk.
We should also enable removing non-referenced code (specially methods not referenced) to reduce size.

Replace with android stuff when required:

  • java.lang
  • java.io (missing File* that should use directly: com.jtransc.io.JTranscSyncIO without JTranscFileSystem)
  • java.math
  • java.net
  • java.nio (Already replaced with android. Stripped direct stuff.)
  • java.security (almost no code, just public interface)
  • java.text
  • java.util

Accessing reflection pool

Usually most platforms include a way of checking which classes are available for the application, which allows to create tools like annotated classes scanners. Regular JVM allow to browse classpath files, while on Android you can use internal ApplicationInfo API to access the whole class pool. Is there a similar functionality in JTransc? Is the generated reflection pool somehow available through JTransc API? I can imagine that class objects might be simply assigned directly to each class and not stored globally, but it would be nice if you could access this meta-date en masse.

Assertition support

Some of the tests need assertition support.
I don't know if assertitions already work. If so, feel free to close this issue :)

Move RT to an internal package

Having the RT use same packages as Java sometimes makes editing problematic since IDE sometimes completes a class using the custom RT and in other cases uses the plain java RT. You can't create and use private fields or change how some internal work.
Also it would be great to create a tool that checks the completeness of the exposed API.
This would also allow to include the RT, as a mistake for example, in other projects without having collision problems.

Some more work on collections

Use openjdk implementations for HashMap, HashSet, LinkedHashMap, LinkedHashSet, TreeMap and TreeSet.

https://github.com/openjdk-mirror/jdk7u-jdk/blob/master/src/share/classes/java/util/

In the end there are just two big implementations: HashMap and TreeMap. Sets uses Maps. And linked versions share implementations with non-linked versions.

We already have an optimized ArrayList implementation.
LinkedList is already from jdk.
IdentityHashMap could use haxe's Map. Or we could just share implementation with HashMap, creating an internal method for getting the hashcode, and overriding in IdentityHashMap getting the identity hashmap (the object ID).

JTranscLibgdx and JTranscLime are not import-able from Java

This is because they are in the default package, and this makes them unavailable for import without using reflection. I'm not sure why they lack a package in the first place; using the default package seems to be strongly discouraged by the Java recommendations because of this import impossibility issue.

Remove soot dependency

Soot uses a static approach, not allowing reading stuff from virtual filesystems and adds a layer of complexity and bugs, and prevent or difficults some kind of improvements to the engine. Ideally we should just depend on ASM.

We are already using ASM for dependency resolving. So we should just replace the body generation part.

This is a pretty big change, so this will be done on a branch.

Audio API

We need to implement an initial simple audio API at least to play sounds.

Optimize generated AST

Haxe generated code is a simple machine state while + switch which is not as fast as it should be. In order to generate small and optimized code, we should transform the control flow graph into plain haxe structures: if, for, while...

Relevant concepts and links:

CFG=Control Flow Graph
DFS=Depth First
Dominator
DT=Dominator Tree
DFS and DT are acyclic graphs
We can normalize DFS adding an extra node and all exit points branching to that node
Reductible CFG=

https://en.wikipedia.org/wiki/Control_flow_graph
https://en.wikipedia.org/wiki/Data-flow_analysis
https://en.wikipedia.org/wiki/Depth-first_search
https://en.wikipedia.org/wiki/Directed_acyclic_graph
https://en.wikipedia.org/wiki/Dominator_(graph_theory)
http://infolab.stanford.edu/~ullman/dragon/w06/lectures/dfa3.pdf
http://www.cs.rice.edu/~keith/Embed/dom.pdf
http://pages.cs.wisc.edu/~fischer/cs701.f08/lectures/Lecture19.4up.pdf
http://compilers.cs.uni-saarland.de/ssasem/talks/Dibyendu.Das.pdf
http://dragonbook.stanford.edu/lecture-notes/Columbia-COMS-W4117/07-09-27.html
Relooper: https://github.com/kripken/emscripten/blob/master/docs/paper.pdf?raw=true

Change plugin to get information from annotation

Right now, the compilation parameters are obtained from pom.xml, and are global to every target.
It would be great to include parameters as an annotation in the main class.

<mainClass>example.Test</mainClass>
<name>TicTacToeJTranscKotlin</name>
<icon>assets/icon.png</icon>
<packagePath>com.jtransc.examples.tictactoe</packagePath>
<company>JTransc</company>
<title>Tic-Tac-Toe JTransc Kotlin</title>
<initialWidth>640</initialWidth>
<initialHeight>480</initialHeight>
<targets>
    <param>lime:swf</param>
    <param>lime:js</param>
</targets>

Instead of having just one mainClass parameter, use target strings to specify the class.

<targets>
    <param>example.TestSwf:lime:swf</param>
    <param>example.TestJs:lime:js</param>
</targets>

The each main can specify for example initialWidth/initialHeight, title or other stuff. Also a Main per target could allow to set specific implementations per target (including flash/javascript and so)

class TestSwf {
    @HaxeBuildSettings(initialWidth = 640, initialHeight = 480)
    static public void main(String[] args) {
    }
}

Reduce static initialization overhead

Right now the static initialization is done lazily per callee.

Each time a callee is going to set or to access a static field or call a static method, that method request a lazy initialization of that class.

That's because last time I tried to get right static initialization I had problems with stuff that got initializated in the wrong order.

I tried to do initialization on the program main.

Maybe I could try to detect it using order in the <clinit> and later in other.

Optimize final data classes holding a single value

Final data classes holding a single value could be converted to an Haxe abstract.

Though we have to think about boxing and instanceof stuff. Maybe we can annotate those classes that will behave different in those cases.

Several bugs

@intrigus reported a couple of bugs:

Problem is https://github.com/jtransc/jtransc/blob/master/jtransc-rt/src/java/lang/Float.java#L39 which calls https://github.com/jtransc/jtransc/blob/master/jtransc-rt/src/java/lang/Double.java#L39 which then uses a native haxe function, that returns more digits than expected:

-a=123 c=q d=3.343434 j=1234605616436508552 f=0.12345
+a=123 c=q d=3.343434 j=1234605616436508552 f=0.12345000356435776

And:

Null pointer:

test-8019

Method name is myMethod
 Declaring class is Target
 Arg 0: int
 Exc 0: java.lang.NullPointerException
 Exc 1: java.io.IOException
 Return type is int
 Access flags are 0x1
Method name is myMethod
 Declaring class is SuperTarget
 Arg 0: float
 Return type is int
 Access flags are 0x1
Method name is myNoargMethod
 Declaring class is Target
 Return type is void
 Access flags are 0x9
Method name is myMethod
 Declaring class is Target
 Arg 0: [Ljava.lang.String;
...

but found:

Method name is myMethod
 Declaring class is Target
 Arg 0: int
/private/tmp/test-8019/program.js:4469
            throw $hx_rethrow;
            ^

TypeError: Cannot read property 'clone__Ljava_lang_Object_' of null
    at Object.$extend.getExceptionTypes___Ljava_lang_Class_ (/private/tmp/test-8019/program.js:31885:29)
    at Object.$extend.printMethodInfo_Ljava_lang_reflect_Method__V (/private/tmp/test-8019/program.js:3684:13)
    at Object.$extend.run__V (/private/tmp/test-8019/program.js:3883:10)
    at Function.Main_$.main__Ljava_lang_String__V (/private/tmp/test-8019/program.js:3487:6)
    at Function.Main_$EntryPoint_$.main (/private/tmp/test-8019/program.js:4483:9)
    at /private/tmp/test-8019/program.js:103764:20
    at Object.<anonymous> (/private/tmp/test-8019/program.js:103765:3)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)

Bad code generation with Kotlin 1.0 and MutablePropertyReference

src/kotlin/jvm/internal_/MutablePropertyReference1_.hx:51: characters 14-110 : kotlin.reflect.KProperty1_ has no field getGetter__Lkotlin_reflect_KProperty1_Getter_
src/kotlin/jvm/internal_/PropertyReference1_.hx:51: characters 14-63 : kotlin.reflect.KProperty1_ has no field getGetter__Lkotlin_reflect_KProperty1_Getter_
src/kotlin/jvm/internal_/MutablePropertyReference_.hx:8: characters 10-233 : Field getGetter__Lkotlin_reflect_KProperty_Getter_ should be declared with 'override' since it is inherited from superclass kotlin.jvm.internal_.PropertyReference_

Improve tests

There are several things that would improve testing:

  • Tests take a lot of time to complete
  • Some targets are not tested
  • Being able to execute the compiler in the same process and in different processes (desirable for #42 )

Time + Targets:

There are many individual tests, and for each one, the whole process is done: reading all classes, generating the AST, and the Haxe compiler that is not incremental. Most of the tests are integration tests, that check that the API works as plain JVM does.

The idea here is to merge tests testing API functionality into one single test. AST+Compilation time will happen just once. So it will be much, much faster.
We can run that mega-test for each target.

Parallelize:

I have to check that there are no statics/objects in the compilation process (like signature caches), so it can be run in parallel.
Also I have to check that haxe targets use distinct temporarly folders for each thread/process to be able to compile at the same time.

Fix maven pom.xml version crazyness

Right now it is a pain to release new versions. So I have to minimize manual changes with it.
Probably I should use ${project.version} + parent + a small script to sed JTranscVersion.java.

WebAssembly support

First, congrats and thanks for creating such ambitious project!

It seems to me that there is no current effort for supporting JVM -> WebAssembly, which is likely to be the future for gaming/high performance applications on the browser. Do you have any plan to support generating WASM bytecode?

Simplify by removing DCE from jtransc since haxe already does

Instead of detecting which fields or methods to include,
just include all referenced classes and let haxe -dce full do the rest.
This should simplify a lot the code, and allow to cache entire classes,
and probably solve several bugs related to methods not getting referenced.

Prefix or suffix for fields

It seems that hxcpp is not changing fields so c++ macros are causing problems.

For example, I had a field called unix and in android caused problems because it is a defined macro :( that is pretty nasty. So maybe we sould prefix all fields with f_. Since reflection will know real field name, it shouldn't be an issue.

Unusual problems compiling GDX backend

I'm trying to get the GDX backend for C++ to compile, but I hit a problem I'm not sure how to address while compiling jtransc-media-imports-lime. I have updated the relevant JTransc versions in the other parts of gdx-backend-jtransc to 0.2.3, and mvn package -P build-jtransc-cpp in cuboc-demo mentioned that lime was not a valid target. I went to run mvn install in jtransc-media-imports-lime, and here's the end of the results (the first ninety-thousand lines or so are no longer available)

...
There are tens of thousands of lines of output above the end, mostly like:
101807665/102954217 (98%)
101808689/102954217 (98%)
...
Then there's a section of where it lists what it installed:
...
102953521/102954217 (99%)
102954217/102954217 (100%)
Download complete : 102954217 bytes in 506.5s (198.4KB/s)
  Created ndll/
  Created ndll/Mac64/
  Install ndll/Mac64/lime.ndll
  Created ndll/Windows/
  Install ndll/Windows/lime.ndll
  Created ndll/BlackBerry/...
  Created templates/tizen/
  Created templates/tizen/hxml/
  Install templates/tizen/hxml/final.hxml
  Install templates/tizen/hxml/debug.hxml
  Install templates/tizen/hxml/release.hxml
  Created templates/tizen/template/
  Created templates/tizen/template/CommandLineBuild/
  Install templates/tizen/template/CommandLineBuild/build_data
  Install templates/tizen/template/manifest.xml
  Created templates/blackberry/
  Created templates/blackberry/hxml/
  Install templates/blackberry/hxml/final.hxml
  Install templates/blackberry/hxml/debug.hxml
  Install templates/blackberry/hxml/release.hxml
  Created templates/blackberry/template/
  Install templates/blackberry/template/bar-descriptor.xml
  Install templates/blackberry/template/config.xml
Done
haxe [-cp, ., -xml, C:\Users\noto\AppData\Local\Temp\jtransc_haxe_tools9083334796661014983.xml, --no-output, -cpp, dummy, -lib, lime:2.9.0, -swf-version, 20, --macro, allowPackage('flash'), --macro, allowPackage('js'), --macro, include('lime', false), --macro, include('lime.ui', true), --macro, include('lime.app', true), --macro, include('lime.audio', true), --macro, include('lime.math', true), --macro, include('lime.project', true), --macro, include('lime.system', true), --macro, include('lime.text', true), --macro, include('lime.utils', true), --macro, include('lime.vm', true), --macro, include('lime.tool', true), --macro, include('haxe.io', true)]
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ jtransc-media-imports-lime ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\noto\Downloads\gdx-backend-jtransc-master2\gdx-backend-jtransc-master\jtransc-media-imports-lime\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.5.1:compile (default-compile) @ jtransc-media-imports-lime ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 433 source files to C:\Users\noto\Downloads\gdx-backend-jtransc-master2\gdx-backend-jtransc-master\jtransc-media-imports-lime\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[5,33] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[5,70] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[5,79] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[8,60] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[8,114] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[8,125] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[35,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[35,90] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[35,126] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[38,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[38,90] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[38,126] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[41,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[41,97] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[41,130] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[44,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[44,97] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[44,133] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[47,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[47,97] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[47,130] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[50,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[50,97] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[50,136] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[77,46] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[77,119] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[77,131] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[80,40] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[80,95] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[80,109] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[83,40] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[83,95] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[83,107] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[86,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[86,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[86,91] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[89,68] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[89,152] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[89,163] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[92,46] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[92,119] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[92,136] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[5,57] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[5,108] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[5,115] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[8,57] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[8,108] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[8,116] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[11,57] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[11,108] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[11,117] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[11,46] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[11,49] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[11,51] invalid method declaration; return type required
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,72] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,75] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,76] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,83] illegal start of type
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,84] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,88] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,103] illegal start of type
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,104] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[16,10] type annotations are not supported in -source 1.6
  (use -source 8 or higher to enable type annotations)
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[16,9] illegal start of expression
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[16,62] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,81] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,84] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,85] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,92] illegal start of type
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,93] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,97] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,112] illegal start of type
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,113] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[19,9] illegal start of expression
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[19,50] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/graphics/cairo/_CairoFontFace/CairoFontFace_Impl_.java:[14,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/graphics/cairo/_CairoFontFace/CairoFontFace_Impl_.java:[14,90] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/graphics/cairo/_CairoFontFace/CairoFontFace_Impl_.java:[14,124] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[32,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[32,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[32,89] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[35,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[35,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[35,86] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[38,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[38,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[38,87] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[41,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[41,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[41,91] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[44,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[44,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[44,86] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[47,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[47,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[47,88] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[50,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[50,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[50,89] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[53,41] ']' expected
[INFO] 100 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 09:19 min
[INFO] Finished at: 2016-05-09T23:24:20-07:00
[INFO] Final Memory: 34M/1079M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project jtransc-media-imports-lime: Compilation failure: Compilation failure:
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[5,33] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[5,70] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[5,79] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[8,60] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[8,114] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[8,125] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[35,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[35,90] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[35,126] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[38,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[38,90] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[38,126] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[41,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[41,97] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[41,130] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[44,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[44,97] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[44,133] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[47,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[47,97] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[47,130] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[50,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[50,97] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[50,136] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[77,46] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[77,119] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[77,131] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[80,40] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[80,95] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[80,109] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[83,40] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[83,95] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[83,107] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[86,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[86,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[86,91] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[89,68] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[89,152] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[89,163] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[92,46] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[92,119] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Joystick.java:[92,136] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[5,57] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[5,108] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[5,115] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[8,57] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[8,108] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[8,116] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[11,57] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[11,108] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Touch.java:[11,117] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[11,46] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[11,49] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[11,51] invalid method declaration; return type required
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,72] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,75] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,76] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,83] illegal start of type
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,84] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,88] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,103] illegal start of type
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[14,104] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[16,10] type annotations are not supported in -source 1.6
[ERROR] (use -source 8 or higher to enable type annotations)
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[16,9] illegal start of expression
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[16,62] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,81] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,84] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,85] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,92] illegal start of type
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,93] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,97] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,112] illegal start of type
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[17,113] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[19,9] illegal start of expression
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/cpp/NativeArray.java:[19,50] ';' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/graphics/cairo/_CairoFontFace/CairoFontFace_Impl_.java:[14,39] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/graphics/cairo/_CairoFontFace/CairoFontFace_Impl_.java:[14,90] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/graphics/cairo/_CairoFontFace/CairoFontFace_Impl_.java:[14,124] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[32,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[32,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[32,89] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[35,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[35,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[35,86] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[38,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[38,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[38,87] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[41,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[41,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[41,91] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[44,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[44,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[44,86] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[47,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[47,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[47,88] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[50,41] ']' expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[50,77] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[50,89] <identifier> expected
[ERROR] /C:/Users/noto/Downloads/gdx-backend-jtransc-master2/gdx-backend-jtransc-master/jtransc-media-imports-lime/target/src-generated/lime/ui/Window.java:[53,41] ']' expected
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

This isn't the kind of error I normally see! Is there anything I can do to help diagnose the problem?

Improve compatibility

  • Implement missing APIs
  • Ensure that implemented APIs work as expected
  • Create tools that check that RT methods with native have proper annotations in all targets
  • Create tools that compare Java8 RT public/protected interfacewith JTransc RT

There is already some work on: #42

Improve String literals

Each time a String literal is used, it is boxed into a java String, making allocation-free code almost imposible.

I tried before to just use haxe String without wrapping, and it was possible converting into a wrapper just when necessary (when used as a java Object or CharSequence). But since it has a hashCode it prevented caching that generated hashCode.

So Im going to try to just generate once the String wrapper for literals. And I will investigate not wrapping some strings at all in the future after relooping the AST in an optimization phase.

IRC channel?

Hey, what do you think about an irc channel?
I've already created one @freenode.net #jtransc , but it's only unofficial :)

Helping people with issues is far easier via irc in my opinion.
It would also allow a faster communication with you (if you want), because I don't really want to spam github issues with all my questions :)

Add more tests

We should add more tests.
I'm currently trying to setup the tests from https://github.com/robovm/robovm/tree/master/tests/dalvik, but I'll also have a look at the (original) tests from android.
I'll also have a look at https://github.com/robovm/drlvm-vts-bundle :)

(Comments for me)

030 Can't be fixed, due to finalizer
031 Can be fixed, fails, due to difference between javac/dx/jtransc
044 Failed, don't know why
046 Can be fixed, error, because they use other API
067 API diff between Android and Java SE
070 Not important

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.