1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 20:42:21 +02:00

Added reflect method filters

This commit is contained in:
Brian Fiete 2020-07-14 08:27:25 -07:00
parent f566daacea
commit f9c0f2a311
9 changed files with 204 additions and 112 deletions

View file

@ -1285,10 +1285,21 @@ enum BfOptionFlags
BfOptionFlags_ReflectNonStaticMethods = 0x400,
BfOptionFlags_ReflectConstructors = 0x800,
BfOptionFlags_Reflect_MethodMask = BfOptionFlags_ReflectStaticMethods | BfOptionFlags_ReflectNonStaticMethods | BfOptionFlags_ReflectConstructors,
BfOptionFlags_Mask = 0xFFF
};
class BfTypeOptions
{
public:
struct MethodFilter
{
String mFilter;
BfOptionFlags mOrFlags;
BfOptionFlags mAndFlags;
};
public:
Array<String> mTypeFilters;
Array<String> mAttributeFilters;
@ -1298,8 +1309,8 @@ public:
int mEmitDebugInfo;
BfOptionFlags mAndFlags;
BfOptionFlags mOrFlags;
Array<String> mReflectMethodFilters;
Array<String> mReflectMethodAttributeFilters;
Array<MethodFilter> mReflectMethodFilters;
Array<MethodFilter> mReflectMethodAttributeFilters;
int mAllocStackTraceDepth;
public:
@ -1317,6 +1328,11 @@ public:
else
return (mOrFlags & flags) != 0;
}
bool HasReflectMethodFilters()
{
return !mReflectMethodFilters.IsEmpty() || !mReflectMethodAttributeFilters.IsEmpty();
}
};
class BfSystem