Mixins now perform a deep copy of the AST. (Fixes default blocks in mixins)
This commit is contained in:
parent
b453c87b72
commit
d22a4c835c
4 changed files with 904 additions and 36 deletions
|
|
@ -76,6 +76,7 @@ enum
|
|||
|
||||
|
||||
// Syntax tree structures.
|
||||
// [pbeta] Any changes to AST node structure or new node types require TreeNodeDeepCopy in zcc_parser.cpp to be updated!
|
||||
enum EZCCTreeNodeType
|
||||
{
|
||||
AST_Identifier,
|
||||
|
|
@ -386,6 +387,8 @@ struct ZCC_ExprTypeRef : ZCC_Expression
|
|||
|
||||
struct ZCC_ExprConstant : ZCC_Expression
|
||||
{
|
||||
// [pbeta] The ZCC_ExprConstant case in TreeNodeDeepCopy in zcc_parser.cpp
|
||||
// must be updated if this union is changed!
|
||||
union
|
||||
{
|
||||
FString *StringVal;
|
||||
|
|
@ -611,4 +614,8 @@ struct ZCCParseState : public ZCC_AST
|
|||
FScanner *sc;
|
||||
};
|
||||
|
||||
const char *GetMixinTypeString(EZCCMixinType type);
|
||||
|
||||
ZCC_TreeNode *TreeNodeDeepCopy(ZCC_AST *ast, ZCC_TreeNode *orig, bool copySiblings);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue