Initial skeleton of new Broxygen infrastructure.

Doesn't generate any docs, but it's hooked in to all places needed to
gather the necessary stuff w/ significantly less coupling than before.

The gathering now always occurs unconditionally to make documentation
available at runtime and a command line switch (-X) only toggles whether
to output docs to disk (reST format).

Should also improve the treatment of type name aliasing which wasn't a
big problem in practice before, but I think it's more correct now:
there's now a distinct BroType for each alias, but extensible types
(record/enum) will automatically update the types for aliases on redef.

Other misc refactoring of note:

    - Removed a redundant/unused way of declaring event types.

    - Changed type serialization format/process to preserve type name
      information and remove compatibility code (since broccoli will
      have be updated anyway).
This commit is contained in:
Jon Siwek 2013-10-03 10:42:04 -05:00
parent eeaf3e9baf
commit 5a857a6dfc
18 changed files with 393 additions and 838 deletions

View file

@ -619,6 +619,7 @@ void ID::DescribeExtended(ODesc* d) const
void ID::DescribeReSTShort(ODesc* d) const
{
/* TODO
if ( is_type )
d->Add(":bro:type:`");
else
@ -668,6 +669,7 @@ void ID::DescribeReSTShort(ODesc* d) const
d->SP();
attrs->DescribeReST(d);
}
*/
}
void ID::DescribeReST(ODesc* d, bool is_role) const
@ -697,10 +699,10 @@ void ID::DescribeReST(ODesc* d, bool is_role) const
{
d->Add(":Type: ");
if ( ! is_type && type->GetTypeID() )
if ( ! is_type && ! type->GetName().empty() )
{
d->Add(":bro:type:`");
d->Add(type->GetTypeID());
d->Add(type->GetName());
d->Add("`");
}
else