-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathTODO
More file actions
63 lines (43 loc) · 1.2 KB
/
TODO
File metadata and controls
63 lines (43 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
- inheritance: implement private instance members (both this.methods & this.fields) - auto rename declarations + usage like '_$esjava$classname$membername'
- unit testing + rewrite binding impl
- exports/imports
- enhanced for loop
- try-with-resources
- multiple interfaces inheritance (mixins?)
- inner classes/anonymous + super binding
- enums
- generics
- varargs
- Threads(web workers)?
- java class [methods, fields?] names may conflict ws js keywords
- parser: add line, pos for ASSERT details
- typed method overload
- constructor overload
- reflection ?
---------------------------------------------------------------
Current binding is naive top -> bottom:
# CompilationUnit scope
public class t {}
# naive not impl but javac compatible
class A extends B {}
# ok
class B extends t {}
# Class scope
class A {
String[] i = {'hello'};
i[0].charAt(); // field access -> charCodeAt
String b = 'hello';
A a = this;
c = a.b.charAt(); // chained type method rename
int d() {
}
int d(int x) {
}
int e = a.d(); // chained type method overload
}
class A {
int in = 42; // keywodrs in -> in$
void d(int in) {
int in = 42;
}
}