1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-20 17:08:00 +02:00
Beef/IDE/mintest/src/main3.bf

167 lines
1.8 KiB
Beef
Raw Normal View History

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
{
[Export, CLink, StdCall]
public static void Poof()
2019-08-23 11:56:54 -07:00
{
PrintF("Poofs!\n");
2019-08-23 11:56:54 -07:00
}
[Export, CLink, StdCall]
public static void Poof2()
2019-08-23 11:56:54 -07:00
{
PrintF("Poofs2!\n");
2019-08-23 11:56:54 -07:00
}
static void Test0()
2019-08-23 11:56:54 -07:00
{
Snorf sn = scope .();
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()
{
return 123;
}
public static void Hey()
{
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
Result<void*> voidPtrResult = default;
2019-08-23 11:56:54 -07:00
//void* val = voidPtrResult;
2019-08-23 11:56:54 -07:00
//Result<TestStruct> ts = .Ok(.());
2019-08-23 11:56:54 -07:00
//let val = ts.Get();
//Snorf.Bloog bl = .();
2019-08-23 11:56:54 -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;
}
}