mirror of
https://github.com/zeek/zeek.git
synced 2025-10-11 02:58:20 +00:00
Implementing += operator for record types.
This is per #375. Record types can now get additional fields later via '+='. The added fields must however either be &optional or have a &default value. Example: type Foo: record { a: count; b: count &optional; }; redef record Foo += { c: count &default=42; d: count &optional; }; global f: Foo = [$a=21]; print f; Output: [a=21, b=<uninitialized>, c=42, d=<uninitialized>]
This commit is contained in:
parent
cdb20e61b7
commit
95069f0993
3 changed files with 44 additions and 2 deletions
|
@ -409,6 +409,10 @@ public:
|
|||
|
||||
int NumFields() const { return num_fields; }
|
||||
|
||||
// Returns 0 if all is ok, otherwise a pointer to an error message. Takes
|
||||
// ownership of list.
|
||||
const char* AddFields(type_decl_list* types);
|
||||
|
||||
void Describe(ODesc* d) const;
|
||||
void DescribeFields(ODesc* d) const;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue