mirror of
https://github.com/cincheo/jsweet.git
synced 2025-12-14 23:09: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/
|
||||
bin/
|
||||
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/
|
||||
/.jsweet/
|
||||
/bin/
|
||||
jsweet-transpiler-2.*
|
||||
jsweet-transpiler-2.*
|
||||
|
||||
@ -62,6 +62,7 @@ import source.overload.ConstructorOverloadWithFieldInitializer;
|
||||
import source.overload.InterfaceInheritance;
|
||||
import source.overload.LocalVariablesNameCollision;
|
||||
import source.overload.NonPublicRootMethod;
|
||||
import source.overload.OverLoadWithClassParam;
|
||||
import source.overload.Overload;
|
||||
import source.overload.OverloadInInnerClass;
|
||||
import source.overload.OverloadWithAbstractClass;
|
||||
@ -96,9 +97,9 @@ public class OverloadTests extends AbstractTest {
|
||||
public void testOverload() {
|
||||
eval((logHandler, result) -> {
|
||||
logHandler.assertNoProblems();
|
||||
assertEquals("default1", result.<String> get("res1"));
|
||||
assertEquals("s11", result.<String> get("res2"));
|
||||
assertEquals("s22", result.<String> get("res3"));
|
||||
assertEquals("default1", result.<String>get("res1"));
|
||||
assertEquals("s11", result.<String>get("res2"));
|
||||
assertEquals("s22", result.<String>get("res3"));
|
||||
}, getSourceFile(Overload.class));
|
||||
}
|
||||
|
||||
@ -288,6 +289,19 @@ public class OverloadTests extends AbstractTest {
|
||||
}, 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
|
||||
public void testWithAmbients() {
|
||||
transpile(ModuleKind.none, (logHandler) -> {
|
||||
@ -372,5 +386,5 @@ public class OverloadTests extends AbstractTest {
|
||||
getSourceFile(ImplementationB14.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