Added zpl's ivrtual memory to dependencies (unused for now)

This commit is contained in:
2023-08-23 11:05:49 -04:00
parent c81f4b34ee
commit f9117a2353
7 changed files with 173 additions and 3 deletions

View File

@ -779,6 +779,9 @@ String AST::to_string()
{
result.append_fmt( "%S", Name );
}
if ( IsParamPack )
result.append("...");
}
break;

View File

@ -264,7 +264,8 @@ struct AST
CodeT Type;
ModuleFlag ModuleFlags;
union {
b32 IsFunction; // Used by typedef to not serialize the name field.
b32 IsFunction; // Used by typedef to not serialize the name field.
b32 IsParamPack; // Used by typename to know if type should be considered a parameter pack.
OperatorT Op;
AccessSpec ParentAccess;
s32 NumEntries;
@ -314,7 +315,8 @@ struct AST_POD
CodeT Type;
ModuleFlag ModuleFlags;
union {
b32 IsFunction; // Used by typedef to not serialize the name field.
b32 IsFunction; // Used by typedef to not serialize the name field.
b32 IsParamPack; // Used by typename to know if type should be considered a parameter pack.
OperatorT Op;
AccessSpec ParentAccess;
s32 NumEntries;

View File

@ -459,7 +459,8 @@ struct AST_Type
Code Parent;
StringCached Name;
CodeT Type;
char _PAD_UNUSED_[ sizeof(ModuleFlag) + sizeof(u32) ];
char _PAD_UNUSED_[ sizeof(ModuleFlag) ];
b32 IsParamPack;
};
static_assert( sizeof(AST_Type) == sizeof(AST), "ERROR: AST_Type is not the same size as AST");

View File

@ -4454,6 +4454,13 @@ CodeType parse_type( bool* is_function )
brute_sig.Length = ( (sptr)prevtok.Text + prevtok.Length ) - (sptr)brute_sig.Text;
is_first_capture = false;
}
bool is_param_pack = false;
if ( check(TokType::Varadic_Argument) )
{
is_param_pack = true;
eat( TokType::Varadic_Argument );
}
using namespace ECode;
@ -4479,6 +4486,9 @@ CodeType parse_type( bool* is_function )
if ( attributes )
result->Attributes = attributes;
if ( is_param_pack )
result->IsParamPack = true;
Context.pop();
return result;