Commit 586f66a3 by Tianqi Yang

test(overload): add test case overload_multi2

Add test cases: - overload_multi2: Tests of overloaded functions with multiple parameters
parent a1933bb3
class A
{
void print ()
{
Print ( "A.print\n" );
}
}
class B extends A
{
void print ()
{
Print ( "B.print\n" );
}
}
class C extends B
{
void print ()
{
Print ( "C.print\n" );
}
}
class D extends B
{
void print ()
{
Print ( "D.print\n" );
}
}
class F
{
static void f ( class A a, class A b )
{
Print ( "F: A A\n" );
}
static void f ( class A a, class B b )
{
Print ( "F: A B\n" );
}
}
class G
{
void f ( class A a, class A b )
{
Print ( "G: A A\n" );
}
void f ( class A a, class C b )
{
Print ( "G: A C\n" );
}
void f ( class A a, class B b )
{
Print ( "G: A B\n" );
}
void f ( class B a, class A b )
{
Print ( "G: B A\n" );
}
void f ( class C a, class B b )
{
Print ( "G: C B\n" );
}
}
class Main
{
static void main ()
{
class A a;
a = new A ();
class B b;
b = new B ();
class C c;
c = new C ();
class D d;
d = new D ();
F.f ( a, a );
F.f ( a, b );
F.f ( a, c );
F.f ( b, a );
F.f ( b, b );
F.f ( b, c );
F.f ( c, a );
F.f ( c, b );
F.f ( c, c );
class G g;
g = new G ();
g.f ( a, a );
g.f ( a, b );
g.f ( a, c );
g.f ( a, d );
g.f ( b, a );
// g.f ( b, b );
// g.f ( b, c );
// g.f ( b, d );
g.f ( c, a );
g.f ( c, b );
// g.f ( c, c );
g.f ( c, d );
g.f ( d, a );
// g.f ( d, b );
// g.f ( d, c );
// g.f ( d, d );
}
}
\ No newline at end of file
F: A A
F: A B
F: A B
F: A A
F: A B
F: A B
F: A A
F: A B
F: A B
G: A A
G: A B
G: A C
G: A B
G: B A
G: B A
G: C B
G: C B
G: B A
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment