mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 20:42:21 +02:00
Linux fixes
This commit is contained in:
parent
b13bee470c
commit
a399e383fa
8 changed files with 41 additions and 35 deletions
|
@ -968,34 +968,6 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
class BfDeferredAstNodeSizedArray : public SizedArray<T, 8>
|
||||
{
|
||||
public:
|
||||
BfAstNode* mParentNode;
|
||||
BfSizedArray<ASTREF(T)>* mSizedArray;
|
||||
BfAstAllocator* mAlloc;
|
||||
|
||||
public:
|
||||
BfDeferredAstNodeSizedArray(BfAstNode* parentNode, BfSizedArray<ASTREF(T)>& arr, BfAstAllocator* alloc)
|
||||
{
|
||||
mParentNode = parentNode;
|
||||
mSizedArray = &arr;
|
||||
mAlloc = alloc;
|
||||
}
|
||||
|
||||
~BfDeferredAstNodeSizedArray()
|
||||
{
|
||||
BfSizedArrayInitIndirect(*mSizedArray, *this, mAlloc);
|
||||
if (!this->mSizedArray->IsEmpty())
|
||||
{
|
||||
int endPos = this->mSizedArray->back()->mSrcEnd;
|
||||
if (endPos > this->mParentNode->mSrcEnd)
|
||||
this->mParentNode->mSrcEnd = endPos;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
typedef void(*BfAstAcceptFunc)(BfAstNode* node, BfStructuralVisitor* visitor);
|
||||
|
||||
class BfAstTypeInfo
|
||||
|
@ -1515,6 +1487,34 @@ T* BfNodeDynCastExact(BfAstNode* node)
|
|||
BfIdentifierNode* BfIdentifierCast(BfAstNode* node);
|
||||
BfAstNode* BfNodeToNonTemporary(BfAstNode* node);
|
||||
|
||||
template <typename T>
|
||||
class BfDeferredAstNodeSizedArray : public SizedArray<T, 8>
|
||||
{
|
||||
public:
|
||||
BfAstNode* mParentNode;
|
||||
BfSizedArray<ASTREF(T)>* mSizedArray;
|
||||
BfAstAllocator* mAlloc;
|
||||
|
||||
public:
|
||||
BfDeferredAstNodeSizedArray(BfAstNode* parentNode, BfSizedArray<ASTREF(T)>& arr, BfAstAllocator* alloc)
|
||||
{
|
||||
mParentNode = parentNode;
|
||||
mSizedArray = &arr;
|
||||
mAlloc = alloc;
|
||||
}
|
||||
|
||||
~BfDeferredAstNodeSizedArray()
|
||||
{
|
||||
BfSizedArrayInitIndirect(*mSizedArray, *this, mAlloc);
|
||||
if (!this->mSizedArray->IsEmpty())
|
||||
{
|
||||
int endPos = this->mSizedArray->back()->mSrcEnd;
|
||||
if (endPos > this->mParentNode->mSrcEnd)
|
||||
this->mParentNode->mSrcEnd = endPos;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class BfStatement : public BfAstNode
|
||||
{
|
||||
public:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue