Mark one-parameter constructors as explicit & use override where possible

This commit marks (hopefully) ever one-parameter constructor as explicit.

It also uses override in (hopefully) all circumstances where a virtual
method is overridden.

There are a very few other minor changes - most of them were necessary
to get everything to compile (like one additional constructor). In one
case I changed an implicit operation to an explicit string conversion -
I think the automatically chosen conversion was much more convoluted.

This took longer than I want to admit but not as long as I feared :)
This commit is contained in:
Johanna Amann 2018-03-16 22:14:22 -07:00
parent 1f2bf50b49
commit 6d612ced3d
173 changed files with 1052 additions and 1046 deletions

View file

@ -19,8 +19,8 @@ declare(PDict,ID);
class Scope : public BroObj {
public:
Scope(ID* id);
~Scope();
explicit Scope(ID* id);
~Scope() override;
ID* Lookup(const char* name) const { return local->Lookup(name); }
void Insert(const char* name, ID* id) { local->Insert(name, id); }
@ -47,7 +47,7 @@ public:
// Adds a variable to the list.
void AddInit(ID* id) { inits->append(id); }
void Describe(ODesc* d) const;
void Describe(ODesc* d) const override;
TraversalCode Traverse(TraversalCallback* cb) const;