mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Emitted code refactor - copied typedefs
This commit is contained in:
parent
f7853fc348
commit
0bfa411d22
15 changed files with 708 additions and 348 deletions
|
@ -941,7 +941,9 @@ public:
|
|||
DefState_InlinedInternals_Changed, // Code within methods, including inlined methods, changed
|
||||
DefState_Internals_Changed, // Only code within a non-inlined methods changed
|
||||
DefState_Refresh,
|
||||
DefState_Deleted
|
||||
DefState_Deleted,
|
||||
DefState_Emitted,
|
||||
DefState_EmittedDirty
|
||||
};
|
||||
|
||||
public:
|
||||
|
@ -950,13 +952,13 @@ public:
|
|||
BfSystem* mSystem;
|
||||
BfProject* mProject;
|
||||
BfTypeDeclaration* mTypeDeclaration;
|
||||
BfSource* mSource;
|
||||
BfParser* mEmitParser;
|
||||
BfSource* mSource;
|
||||
DefState mDefState;
|
||||
Val128 mSignatureHash; // Data, methods, etc
|
||||
Val128 mFullHash;
|
||||
Val128 mInlineHash;
|
||||
|
||||
BfTypeDef* mEmitParent;
|
||||
BfTypeDef* mOuterType;
|
||||
BfAtomComposite mNamespace;
|
||||
BfAtom* mName;
|
||||
|
@ -1004,8 +1006,7 @@ public:
|
|||
bool mHasOverrideMethods;
|
||||
bool mIsOpaque;
|
||||
bool mIsNextRevision;
|
||||
bool mInDeleteQueue;
|
||||
bool mHasEmitMembers;
|
||||
bool mInDeleteQueue;
|
||||
bool mForceUseNextRevision;
|
||||
|
||||
public:
|
||||
|
@ -1029,8 +1030,7 @@ public:
|
|||
mIsPartial = false;
|
||||
mIsCombinedPartial = false;
|
||||
mTypeDeclaration = NULL;
|
||||
mSource = NULL;
|
||||
mEmitParser = NULL;
|
||||
mSource = NULL;
|
||||
mDefState = DefState_New;
|
||||
mHash = 0;
|
||||
mPartialIdx = -1;
|
||||
|
@ -1047,11 +1047,11 @@ public:
|
|||
mIsOpaque = false;
|
||||
mPartialUsed = false;
|
||||
mIsNextRevision = false;
|
||||
mInDeleteQueue = false;
|
||||
mHasEmitMembers = false;
|
||||
mInDeleteQueue = false;
|
||||
mForceUseNextRevision = false;
|
||||
mDupDetectedRevision = -1;
|
||||
mNestDepth = 0;
|
||||
mEmitParent = NULL;
|
||||
mOuterType = NULL;
|
||||
mTypeDeclaration = NULL;
|
||||
mNextRevision = NULL;
|
||||
|
@ -1062,9 +1062,9 @@ public:
|
|||
bool IsGlobalsContainer();
|
||||
void Reset();
|
||||
void FreeMembers();
|
||||
void ClearEmitted();
|
||||
void PopulateMemberSets();
|
||||
void ClearMemberSets();
|
||||
void ClearOldMemberSets();
|
||||
void RemoveGenericParamDef(BfGenericParamDef* genericParamDef);
|
||||
int GetSelfGenericParamCount();
|
||||
String ToString();
|
||||
|
@ -1074,8 +1074,19 @@ public:
|
|||
String GetAutoPropertyName(BfPropertyDeclaration* propertyDeclaration);
|
||||
BfAstNode* GetRefNode();
|
||||
|
||||
bool IsEmitted() { return mEmitParent != NULL; }
|
||||
|
||||
BfTypeDef* GetDefinition()
|
||||
{
|
||||
if (mEmitParent != NULL)
|
||||
return mEmitParent;
|
||||
return this;
|
||||
}
|
||||
|
||||
BfTypeDef* GetLatest()
|
||||
{
|
||||
if (mEmitParent != NULL)
|
||||
return mEmitParent->GetLatest();
|
||||
if (mNextRevision != NULL)
|
||||
return mNextRevision;
|
||||
return this;
|
||||
|
@ -1612,6 +1623,9 @@ public:
|
|||
void InjectNewRevision(BfTypeDef* typeDef);
|
||||
void AddToCompositePartial(BfPassInstance* passInstance, BfTypeDef* compositeTypeDef, BfTypeDef* partialTypeDef);
|
||||
void FinishCompositePartial(BfTypeDef* compositeTypeDef);
|
||||
void CopyTypeDef(BfTypeDef* typeDef, BfTypeDef* nextTypeDef);
|
||||
void UpdateEmittedTypeDef(BfTypeDef* typeDef);
|
||||
|
||||
BfTypeDef* GetCombinedPartial(BfTypeDef* typeDef);
|
||||
BfTypeDef* GetOuterTypeNonPartial(BfTypeDef* typeDef);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue