Commit 26059dbb authored by Daniel Teske's avatar Daniel Teske

Make every operator bool() explicit

operator bool() is a trap, but with explicit it's far safer,
and we can use that now.

Change-Id: I4e58631c94e87c00256c3ab3cff4fd2c5f632713
Reviewed-by: default avatarFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
parent 2189464a
......@@ -33,7 +33,7 @@ public:
~FullySpecifiedType();
bool isValid() const;
operator bool() const;
explicit operator bool() const;
Type *type() const;
void setType(Type *type);
......
......@@ -297,7 +297,7 @@ public:
trivial.utf16charOffset = last->utf16charOffset;
}
inline operator bool() const
inline explicit operator bool() const
{ return first != last; }
inline bool isValid() const
......
......@@ -56,7 +56,7 @@ public:
return true;
}
operator bool() const { return isValid(); }
explicit operator bool() const { return isValid(); }
const Type *type;
bool isConstant;
......
......@@ -78,7 +78,7 @@ public:
, tryQmlDump(false), qmlDumpHasRelocatableFlag(true)
{ }
operator bool() const
explicit operator bool() const
{ return ! project.isNull(); }
bool isValid() const
......
......@@ -51,7 +51,7 @@ public:
inline IInterface *operator->() const { return m_instance; }
inline IInterface *data() const { return m_instance; }
inline bool isNull() const { return m_instance == 0; }
inline operator bool() const { return !isNull(); }
explicit inline operator bool() const { return !isNull(); }
inline HRESULT hr() const { return m_hr; }
// This is for creating a IDebugClient from scratch. Not matches by a constructor,
......
......@@ -63,7 +63,7 @@ public:
explicit SymbolGroupValue(SymbolGroupNode *node, const SymbolGroupValueContext &c);
SymbolGroupValue();
operator bool() const { return isValid(); }
explicit operator bool() const { return isValid(); }
bool isValid() const;
// Access children by name or index (0-based)
......
......@@ -511,7 +511,7 @@ public:
ExtensionSystem::PluginManager::addObject(watch);
}
operator bool() { return m_watched; }
explicit operator bool() { return m_watched; }
bool operator !() { return !m_watched; }
T &operator*() { return *m_watched; }
T *operator->() { return m_watched; }
......
......@@ -42,7 +42,7 @@ namespace Internal {
class EditorData
{
public:
operator bool() const { return formWindowEditor != 0; }
explicit operator bool() const { return formWindowEditor != 0; }
FormWindowEditor *formWindowEditor = nullptr;
SharedTools::WidgetHost *widgetHost = nullptr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment