mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
lower-level method for adding fields to records
This commit is contained in:
parent
22776167bb
commit
5f5ba3881c
2 changed files with 14 additions and 3 deletions
14
src/Type.cc
14
src/Type.cc
|
@ -1043,6 +1043,17 @@ const char* RecordType::AddFields(const type_decl_list& others,
|
|||
|
||||
TableVal::SaveParseTimeTableState(this);
|
||||
|
||||
AddFieldsDirectly(others, add_log_attr);
|
||||
|
||||
RecordVal::ResizeParseTimeRecords(this);
|
||||
TableVal::RebuildParseTimeTables();
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void RecordType::AddFieldsDirectly(const type_decl_list& others,
|
||||
bool add_log_attr)
|
||||
{
|
||||
for ( const auto& td : others )
|
||||
{
|
||||
if ( add_log_attr )
|
||||
|
@ -1059,9 +1070,6 @@ const char* RecordType::AddFields(const type_decl_list& others,
|
|||
}
|
||||
|
||||
num_fields = types->length();
|
||||
RecordVal::ResizeParseTimeRecords(this);
|
||||
TableVal::RebuildParseTimeTables();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void RecordType::DescribeFields(ODesc* d) const
|
||||
|
|
|
@ -623,6 +623,9 @@ public:
|
|||
const char* AddFields(const type_decl_list& types,
|
||||
bool add_log_attr = false);
|
||||
|
||||
void AddFieldsDirectly(const type_decl_list& types,
|
||||
bool add_log_attr = false);
|
||||
|
||||
void Describe(ODesc* d) const override;
|
||||
void DescribeReST(ODesc* d, bool roles_only = false) const override;
|
||||
void DescribeFields(ODesc* d) const;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue