2019-08-23 11:56:54 -07:00
|
|
|
//GORB
|
|
|
|
#pragma warning disable 168
|
|
|
|
|
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Diagnostics;
|
|
|
|
using System.Threading;
|
|
|
|
|
|
|
|
//#define A
|
|
|
|
//#define B
|
|
|
|
|
|
|
|
class ClassA
|
|
|
|
{
|
|
|
|
public virtual void ClassA0()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public virtual void ClassA1()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class ClassB
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#if B
|
|
|
|
class ClassC : ClassB
|
|
|
|
{
|
|
|
|
public override void ToString(System.String strBuffer)
|
|
|
|
{
|
|
|
|
base.ToString(strBuffer);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#elif A
|
|
|
|
class ClassC : ClassA
|
|
|
|
{
|
|
|
|
public override void ToString(System.String strBuffer)
|
|
|
|
{
|
|
|
|
base.ToString(strBuffer);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
class ClassD
|
|
|
|
{
|
|
|
|
public String mStr;
|
|
|
|
int mA6;
|
|
|
|
|
|
|
|
public virtual void Poo()
|
|
|
|
{
|
|
|
|
PrintF("Poo\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
public virtual void Poo2()
|
|
|
|
{
|
|
|
|
PrintF("Poo2\n");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class ClassD2
|
|
|
|
{
|
|
|
|
int mA5;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class ClassE : ClassD
|
|
|
|
{
|
|
|
|
public void Zog2()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class ClassF : ClassE
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
[NoDiscard("Use this value!")]
|
|
|
|
struct TestStruct
|
|
|
|
{
|
|
|
|
public int mA;
|
|
|
|
public int mB;
|
|
|
|
}
|
|
|
|
|
|
|
|
class Blurg
|
|
|
|
{
|
2019-08-27 08:04:41 -07:00
|
|
|
[Export, CLink, StdCall]
|
|
|
|
public static void Poof()
|
2019-08-23 11:56:54 -07:00
|
|
|
{
|
2019-08-27 08:04:41 -07:00
|
|
|
PrintF("Poofs!\n");
|
2019-08-23 11:56:54 -07:00
|
|
|
}
|
|
|
|
|
2019-08-27 08:04:41 -07:00
|
|
|
[Export, CLink, StdCall]
|
|
|
|
public static void Poof2()
|
2019-08-23 11:56:54 -07:00
|
|
|
{
|
2019-08-27 08:04:41 -07:00
|
|
|
PrintF("Poofs2!\n");
|
2019-08-23 11:56:54 -07:00
|
|
|
}
|
|
|
|
|
2019-08-29 14:19:07 -07:00
|
|
|
static void Test0()
|
2019-08-23 11:56:54 -07:00
|
|
|
{
|
2019-08-27 08:04:41 -07:00
|
|
|
Snorf sn = scope .();
|
2019-08-29 14:19:07 -07:00
|
|
|
int a = 124;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void DoRecurse(int depth, ref int val)
|
|
|
|
{
|
|
|
|
Thread.Sleep(1);
|
|
|
|
++val;
|
|
|
|
if (val < 5)
|
|
|
|
{
|
|
|
|
DoRecurse(depth + 1, ref val);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void VoidCall()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public static int GetInt()
|
|
|
|
{
|
2019-09-02 17:39:47 -07:00
|
|
|
float f = 10.0f;
|
|
|
|
//f = f % 3.0f;
|
|
|
|
|
2019-08-29 14:19:07 -07:00
|
|
|
return 123;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void Hey()
|
|
|
|
{
|
2019-09-02 17:39:47 -07:00
|
|
|
float f = 1.2f;
|
|
|
|
//f = f % 2.3f;
|
|
|
|
|
2019-08-29 17:40:17 -07:00
|
|
|
TestStruct ts = .();
|
|
|
|
//int val = ts..mA;
|
|
|
|
ts.mA = 123;
|
|
|
|
|
2019-09-02 17:39:47 -07:00
|
|
|
GetInt();
|
|
|
|
GetInt();
|
|
|
|
|
2019-08-29 14:19:07 -07:00
|
|
|
VoidCall();
|
|
|
|
int val0 = GetInt();
|
|
|
|
|
|
|
|
Blurg bl = scope .();
|
|
|
|
int val = 0;
|
|
|
|
bl.DoRecurse(0, ref val);
|
|
|
|
|
|
|
|
Test0();
|
|
|
|
Test0();
|
|
|
|
Test0();
|
|
|
|
Test0();
|
2019-08-23 11:56:54 -07:00
|
|
|
|
2019-08-27 08:04:41 -07:00
|
|
|
Result<void*> voidPtrResult = default;
|
2019-08-23 11:56:54 -07:00
|
|
|
|
2019-08-27 08:04:41 -07:00
|
|
|
//void* val = voidPtrResult;
|
2019-08-23 11:56:54 -07:00
|
|
|
|
|
|
|
|
2019-08-27 08:04:41 -07:00
|
|
|
//Result<TestStruct> ts = .Ok(.());
|
2019-08-23 11:56:54 -07:00
|
|
|
|
2019-08-27 08:04:41 -07:00
|
|
|
//let val = ts.Get();
|
|
|
|
//Snorf.Bloog bl = .();
|
2019-08-23 11:56:54 -07:00
|
|
|
|
2019-08-27 08:04:41 -07:00
|
|
|
//Poof();
|
2019-08-23 11:56:54 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class CustomAlloc
|
|
|
|
{
|
|
|
|
public void* Alloc(int size, int align)
|
|
|
|
{
|
|
|
|
//return Internal.Malloc(size);
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|