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

@ -21,7 +21,7 @@ public:
// right away.
Trigger(Expr* cond, Stmt* body, Stmt* timeout_stmts, Expr* timeout,
Frame* f, bool is_return, const Location* loc);
~Trigger();
~Trigger() override;
// Evaluates the condition. If true, executes the body and deletes
// the object deleted.
@ -57,16 +57,16 @@ public:
bool Disabled() const { return disabled; }
virtual void Describe(ODesc* d) const { d->Add("<trigger>"); }
void Describe(ODesc* d) const override
{ d->Add("<trigger>"); }
// Overidden from Notifier. We queue the trigger and evaluate it
// later to avoid race conditions.
virtual void Access(ID* id, const StateAccess& sa)
void Access(ID* id, const StateAccess& sa) override
{ QueueTrigger(this); }
virtual void Access(Val* val, const StateAccess& sa)
void Access(Val* val, const StateAccess& sa) override
{ QueueTrigger(this); }
virtual const char* Name() const;
const char* Name() const override;
static void QueueTrigger(Trigger* trigger);