Implement majority of Broxygen features delegated to Bro.

Still have to update the Sphinx integration.
This commit is contained in:
Jon Siwek 2013-11-14 14:00:51 -06:00
parent bdd359d58c
commit 4f6d01000a
21 changed files with 1494 additions and 342 deletions

View file

@ -261,17 +261,17 @@ extern Expr* add_and_assign_local(ID* id, Expr* init, Val* val)
void add_type(ID* id, BroType* t, attr_list* attr)
{
string new_type_name(id->Name());
string old_type_name(t->GetName());
string new_type_name = id->Name();
string old_type_name = t->GetName();
BroType* tnew = 0;
if ( (t->Tag() == TYPE_RECORD || t->Tag() == TYPE_ENUM) &&
! old_type_name.empty() )
old_type_name.empty() )
// An extensible type (record/enum) being declared for first time.
tnew = t;
else
// Clone the type to preserve type name aliasing.
tnew = t->Clone();
else
// An extensible types (record/enum) being declared for first time.
tnew = t;
type_aliases[new_type_name].insert(tnew);