mirror of
https://github.com/cincheo/jsweet.git
synced 2025-12-15 15:29:22 +00:00
fix #240 + update tests
This commit is contained in:
parent
821ad80c26
commit
46e5dcf9cb
@ -2730,7 +2730,7 @@ public class Java2TypeScriptTranslator extends AbstractTreePrinter {
|
||||
}
|
||||
} else {
|
||||
if (varDecl.init != null && !isDefinitionScope) {
|
||||
if (!(parent instanceof JCClassDecl && getScope().innerClassNotStatic
|
||||
if (!(parent instanceof JCClassDecl && getScope().innerClassNotStatic && !varDecl.sym.isStatic()
|
||||
&& !Util.isConstantOrNullField(varDecl))) {
|
||||
if (!globals && parent instanceof JCClassDecl && getScope().interfaceScope) {
|
||||
report(varDecl, varDecl.name, JSweetProblem.INVALID_FIELD_INITIALIZER_IN_INTERFACE,
|
||||
|
||||
@ -113,6 +113,8 @@ public class StructuralTests extends AbstractTest {
|
||||
assertEquals("test1", r.get("value1"));
|
||||
assertEquals("test2", r.get("value2"));
|
||||
assertEquals("test3", r.get("value3"));
|
||||
assertEquals("test4", r.get("value4"));
|
||||
assertEquals("abc", r.get("value5"));
|
||||
}, getSourceFile(InnerClass.class));
|
||||
}
|
||||
|
||||
@ -126,7 +128,7 @@ public class StructuralTests extends AbstractTest {
|
||||
public void testInnerClassNotStatic() {
|
||||
eval((logHandler, r) -> {
|
||||
logHandler.assertNoProblems();
|
||||
assertEquals("22abc,22a,22ABC,22a,22b,22c,22ABC,test22a,staticMethod", r.get("trace"));
|
||||
assertEquals("22abc,22a,22ABC,22a,22b,22c,22ABC,test22a,staticMethod,1", r.get("trace"));
|
||||
}, getSourceFile(InnerClassNotStatic.class));
|
||||
}
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@ public class InnerClass {
|
||||
new InnerClass().m();
|
||||
InnerClass1.m2();
|
||||
String s = InnerClass1.S;
|
||||
$export("value5", s);
|
||||
}
|
||||
|
||||
public void m() {
|
||||
@ -41,6 +42,7 @@ public class InnerClass {
|
||||
private final static class InnerClass1 {
|
||||
|
||||
private static String S = "abc";
|
||||
static final int I = 2;
|
||||
|
||||
private void m1() {
|
||||
$export("value1", "test" + i);
|
||||
|
||||
@ -26,6 +26,11 @@ public class InnerClassNotStatic {
|
||||
|
||||
public static void main(String[] args) {
|
||||
new InnerClassNotStatic().m();
|
||||
int i = InnerClassNotStatic.ActionType.CREATE;
|
||||
i = InnerClassNotStatic.ActionType.DELETE;
|
||||
i = InnerClassNotStatic.ActionType.UPDATE;
|
||||
trace.push("" + i);
|
||||
$export("trace", trace.join(","));
|
||||
}
|
||||
|
||||
int i = 2;
|
||||
@ -33,7 +38,7 @@ public class InnerClassNotStatic {
|
||||
int getI() {
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
private static void staticMethod() {
|
||||
trace.push("staticMethod");
|
||||
}
|
||||
@ -43,11 +48,13 @@ public class InnerClassNotStatic {
|
||||
new InnerClass1("ABC").m1();
|
||||
new InnerClass2().m();
|
||||
new InnerClass1("ABC").m2();
|
||||
$export("trace", trace.join(","));
|
||||
}
|
||||
|
||||
public class InnerClass1 {
|
||||
public static final int I = 2;
|
||||
|
||||
int j = i + 1;
|
||||
|
||||
public InnerClass1(String s) {
|
||||
trace.push("" + i + getI() + s);
|
||||
}
|
||||
@ -67,7 +74,7 @@ public class InnerClassNotStatic {
|
||||
trace.push("" + i + getI() + "b");
|
||||
new InnerOfInnerClass().m();
|
||||
}
|
||||
|
||||
|
||||
public final class InnerOfInnerClass {
|
||||
public void m() {
|
||||
trace.push("" + i + getI() + "c");
|
||||
@ -78,6 +85,11 @@ public class InnerClassNotStatic {
|
||||
public interface I {
|
||||
}
|
||||
|
||||
private class ActionType {
|
||||
private static final int CREATE = 0;
|
||||
private static final int UPDATE = 1;
|
||||
private static final int DELETE = 2;
|
||||
}
|
||||
}
|
||||
|
||||
class Sub extends InnerClassNotStatic {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user