mirror of
https://github.com/cincheo/jsweet.git
synced 2025-12-15 15:29:22 +00:00
overload with class param test
This commit is contained in:
parent
66760638df
commit
e9b4b9c29d
3
.gitignore
vendored
3
.gitignore
vendored
@ -2,4 +2,5 @@
|
|||||||
classes/
|
classes/
|
||||||
bin/
|
bin/
|
||||||
transpiler/jsweet-transpiler-2.0.1-SNAPSHOT
|
transpiler/jsweet-transpiler-2.0.1-SNAPSHOT
|
||||||
core-lib/es6/jsweet-core
|
core-lib/es5/jsweet-core/
|
||||||
|
core-lib/es6/jsweet-core/
|
||||||
|
|||||||
2
transpiler/.gitignore
vendored
2
transpiler/.gitignore
vendored
@ -6,4 +6,4 @@
|
|||||||
/js/
|
/js/
|
||||||
/.jsweet/
|
/.jsweet/
|
||||||
/bin/
|
/bin/
|
||||||
jsweet-transpiler-2.*
|
jsweet-transpiler-2.*
|
||||||
|
|||||||
@ -62,6 +62,7 @@ import source.overload.ConstructorOverloadWithFieldInitializer;
|
|||||||
import source.overload.InterfaceInheritance;
|
import source.overload.InterfaceInheritance;
|
||||||
import source.overload.LocalVariablesNameCollision;
|
import source.overload.LocalVariablesNameCollision;
|
||||||
import source.overload.NonPublicRootMethod;
|
import source.overload.NonPublicRootMethod;
|
||||||
|
import source.overload.OverLoadWithClassParam;
|
||||||
import source.overload.Overload;
|
import source.overload.Overload;
|
||||||
import source.overload.OverloadInInnerClass;
|
import source.overload.OverloadInInnerClass;
|
||||||
import source.overload.OverloadWithAbstractClass;
|
import source.overload.OverloadWithAbstractClass;
|
||||||
@ -96,9 +97,9 @@ public class OverloadTests extends AbstractTest {
|
|||||||
public void testOverload() {
|
public void testOverload() {
|
||||||
eval((logHandler, result) -> {
|
eval((logHandler, result) -> {
|
||||||
logHandler.assertNoProblems();
|
logHandler.assertNoProblems();
|
||||||
assertEquals("default1", result.<String> get("res1"));
|
assertEquals("default1", result.<String>get("res1"));
|
||||||
assertEquals("s11", result.<String> get("res2"));
|
assertEquals("s11", result.<String>get("res2"));
|
||||||
assertEquals("s22", result.<String> get("res3"));
|
assertEquals("s22", result.<String>get("res3"));
|
||||||
}, getSourceFile(Overload.class));
|
}, getSourceFile(Overload.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -288,6 +289,19 @@ public class OverloadTests extends AbstractTest {
|
|||||||
}, getSourceFile(OverloadWithInterfaces.class));
|
}, getSourceFile(OverloadWithInterfaces.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testOverloadWithClassParam() {
|
||||||
|
eval((logHandler, r) -> {
|
||||||
|
logHandler.assertNoProblems();
|
||||||
|
assertEquals("ctor_overload_class;OverLoadWithClassParam;0;0," //
|
||||||
|
+ "ctor_overload_class;OverLoadWithClassParam;4;0," //
|
||||||
|
+ "ctor_overload_class;OverLoadWithClassParam;10;100," //
|
||||||
|
+ "m_overload_class;OverLoadWithClassParam;0;0," //
|
||||||
|
+ "m_overload_class;OverLoadWithClassParam;4;0," //
|
||||||
|
+ "m_overload_class;OverLoadWithClassParam;10;100", r.get("trace"));
|
||||||
|
}, getSourceFile(OverLoadWithClassParam.class));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWithAmbients() {
|
public void testWithAmbients() {
|
||||||
transpile(ModuleKind.none, (logHandler) -> {
|
transpile(ModuleKind.none, (logHandler) -> {
|
||||||
@ -372,5 +386,5 @@ public class OverloadTests extends AbstractTest {
|
|||||||
getSourceFile(ImplementationB14.class), //
|
getSourceFile(ImplementationB14.class), //
|
||||||
getSourceFile(ImplementationB15.class));
|
getSourceFile(ImplementationB15.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,47 @@
|
|||||||
|
package source.overload;
|
||||||
|
|
||||||
|
import static jsweet.util.Lang.$export;
|
||||||
|
|
||||||
|
import def.js.Array;
|
||||||
|
|
||||||
|
public class OverLoadWithClassParam {
|
||||||
|
|
||||||
|
static Array<String> trace = new Array<>();
|
||||||
|
|
||||||
|
OverLoadWithClassParam(Class clazz) {
|
||||||
|
this(clazz, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
OverLoadWithClassParam(Class clazz, int p1) {
|
||||||
|
this(clazz, p1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
OverLoadWithClassParam(Class clazz, int p1, int p2) {
|
||||||
|
trace.push("ctor_overload_class;" + clazz.getSimpleName() + ";" + p1 + ";" + p2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void m(Class clazz) {
|
||||||
|
m(clazz, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void m(Class clazz, int p1) {
|
||||||
|
m(clazz, p1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void m(Class clazz, int p1, int p2) {
|
||||||
|
trace.push("m_overload_class;" + clazz.getSimpleName() + ";" + p1 + ";" + p2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
new OverLoadWithClassParam(OverLoadWithClassParam.class);
|
||||||
|
new OverLoadWithClassParam(OverLoadWithClassParam.class, 4);
|
||||||
|
OverLoadWithClassParam o = new OverLoadWithClassParam(OverLoadWithClassParam.class, 10, 100);
|
||||||
|
|
||||||
|
o.m(OverLoadWithClassParam.class);
|
||||||
|
o.m(OverLoadWithClassParam.class, 4);
|
||||||
|
o.m(OverLoadWithClassParam.class, 10, 100);
|
||||||
|
|
||||||
|
$export("trace", trace.join(","));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user