1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22: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

@ -1383,9 +1383,11 @@ public:
public:
BfFieldDef* GetFieldDef();
BfFieldInstance(const BfFieldInstance& copyFrom)
BfFieldInstance(BfFieldInstance&& copyFrom)
{
BF_ASSERT(copyFrom.mCustomAttributes == NULL);
mCustomAttributes = copyFrom.mCustomAttributes;
copyFrom.mCustomAttributes = NULL;
mOwner = copyFrom.mOwner;
mResolvedType = copyFrom.mResolvedType;
@ -1404,6 +1406,28 @@ public:
mLastRevisionReferenced = copyFrom.mLastRevisionReferenced;
}
BfFieldInstance(const BfFieldInstance& copyFrom)
{
BF_ASSERT(copyFrom.mCustomAttributes == NULL);
mOwner = copyFrom.mOwner;
mResolvedType = copyFrom.mResolvedType;
mCustomAttributes = copyFrom.mCustomAttributes;
mConstIdx = copyFrom.mConstIdx;
mFieldIdx = copyFrom.mFieldIdx;
mDataIdx = copyFrom.mDataIdx;
mMergedDataIdx = copyFrom.mMergedDataIdx;
mDataOffset = copyFrom.mDataOffset;
mDataSize = copyFrom.mDataSize;
mFieldIncluded = copyFrom.mFieldIncluded;
mIsEnumPayloadCase = copyFrom.mIsEnumPayloadCase;
mIsThreadLocal = copyFrom.mIsThreadLocal;
mIsInferredType = copyFrom.mIsInferredType;
mHadConstEval = copyFrom.mHadConstEval;
mLastRevisionReferenced = copyFrom.mLastRevisionReferenced;
}
BfFieldInstance()
{
mFieldIdx = -1;