mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-16 07:14:09 +02:00
144 lines
1.8 KiB
Beef
144 lines
1.8 KiB
Beef
![]() |
#pragma warning disable 168
|
||
|
|
||
|
namespace IDETest
|
||
|
{
|
||
|
class HotSwap_BaseChange
|
||
|
{
|
||
|
class ClassA
|
||
|
{
|
||
|
public virtual int MethodA0()
|
||
|
{
|
||
|
return 100;
|
||
|
}
|
||
|
|
||
|
public virtual int MethodA1()
|
||
|
{
|
||
|
return 101;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class ClassB
|
||
|
{
|
||
|
public virtual int MethodB0()
|
||
|
{
|
||
|
return 200;
|
||
|
}
|
||
|
|
||
|
/*ClassB_MethodB1
|
||
|
public virtual int MethodB1()
|
||
|
{
|
||
|
return 201;
|
||
|
}
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
/*ClassC_0
|
||
|
class ClassC : ClassA
|
||
|
{
|
||
|
public virtual int MethodC0()
|
||
|
{
|
||
|
return 300;
|
||
|
}
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
/*ClassC_1
|
||
|
class ClassC : ClassB
|
||
|
{
|
||
|
public virtual int MethodC0()
|
||
|
{
|
||
|
return 300;
|
||
|
}
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
/*ClassC_2
|
||
|
class ClassC : ClassB
|
||
|
{
|
||
|
public virtual int MethodC0()
|
||
|
{
|
||
|
return 1300;
|
||
|
}
|
||
|
|
||
|
public virtual int MethodC1()
|
||
|
{
|
||
|
return 1301;
|
||
|
}
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
/*ClassC_3
|
||
|
class ClassC : ClassA
|
||
|
{
|
||
|
// FAILS
|
||
|
public this() : base(123)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public virtual int MethodC0()
|
||
|
{
|
||
|
return 300;
|
||
|
}
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
|
||
|
static void DoTest0()
|
||
|
{
|
||
|
/*DoTest0_Body
|
||
|
ClassC cc = scope .();
|
||
|
int a0 = cc.MethodA0();
|
||
|
int a1 = cc.MethodA1();
|
||
|
int c0 = cc.MethodC0();
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
static void DoTest1()
|
||
|
{
|
||
|
/*DoTest1_Body
|
||
|
ClassC cc = scope .();
|
||
|
int b0 = cc.MethodB0();
|
||
|
int c0 = cc.MethodC0();
|
||
|
b0 = cc.MethodB0();
|
||
|
c0 = cc.MethodC0();
|
||
|
DoTest2(cc);
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
/*DoTest2_Decl
|
||
|
static void DoTest2(ClassC cc)
|
||
|
{
|
||
|
/*DoTest2_Body
|
||
|
int b0 = cc.MethodB0();
|
||
|
int b1 = cc.MethodB1();
|
||
|
int c0 = cc.MethodC0();
|
||
|
int c1 = cc.MethodC1();
|
||
|
*/
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
static void DoTest3()
|
||
|
{
|
||
|
/*DoTest3_Body
|
||
|
ClassC cc = scope .();
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
public static void Test()
|
||
|
{
|
||
|
// Reify these methods and types
|
||
|
ClassA ca = scope .();
|
||
|
ca.MethodA0();
|
||
|
ca.MethodA1();
|
||
|
ClassB cb = scope .();
|
||
|
cb.MethodB0();
|
||
|
|
||
|
int a = 0;
|
||
|
//Test_Start
|
||
|
DoTest0();
|
||
|
DoTest1();
|
||
|
DoTest3();
|
||
|
}
|
||
|
}
|
||
|
}
|