1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 03:28:20 +02:00

Comptime improvments, IOn<X> interfaces, const payload enum

This commit is contained in:
Brian Fiete 2022-02-11 05:47:32 -05:00
parent e7fe91facb
commit f37fb2c1b7
20 changed files with 884 additions and 364 deletions

View file

@ -1,3 +1,4 @@
using System.Reflection;
namespace System
{
public struct Attribute
@ -495,6 +496,26 @@ namespace System
}
}
interface IOnTypeInit
{
void OnTypeInit(Type type, Self* prev) mut;
}
interface IOnTypeDone
{
void OnTypeDone(Type type, Self* prev) mut;
}
interface IOnFieldInit
{
void OnFieldInit(ComptimeFieldInfo type, Self* prev) mut;
}
interface IOnMethodInit
{
void OnMethodInit(ComptimeMethodInfo type, Self* prev) mut;
}
interface IComptimeTypeApply
{
void ApplyToType(Type type);

View file

@ -327,4 +327,18 @@ namespace System.Reflection
}
}
}
struct ComptimeMethodInfo
{
public int64 mNativeMethodInstance;
}
struct ComptimeFieldInfo
{
int64 mNativeFieldInstance;
TypeId mOwner;
TypeId mTypeId;
int32 mFieldIdx;
FieldFlags mFlags;
}
}