Bug 1487082 - Resolve potential for build bustage regarding bad implicit conversion constructors

* Part 1: make conversion CTORs explicit.
  Minor tweaks to conform with new(ish) static analysis rule which flags up implicit single-argument conversion constructors.
* Part 2: fix a couple of double-mRefCnt declaration errors.
* Part 3: Fix unsafe use of NS_ConvertASCIItoUTF16().

Tag #1273
This commit is contained in:
Matt A. Tobin 2019-11-10 19:11:03 -05:00 • committed by Roy Tam
commit eaac1c967d
57 changed files with 71 additions and 69 deletions

View file

@ -284,7 +284,7 @@ public:
public: // empty construction does nothing public: // empty construction does nothing
morkWeeBookAtom() { } morkWeeBookAtom() { }
morkWeeBookAtom(mork_aid inAid); explicit morkWeeBookAtom(mork_aid inAid);
void InitWeeBookAtom(morkEnv* ev, const morkBuf& inBuf, void InitWeeBookAtom(morkEnv* ev, const morkBuf& inBuf,
morkAtomSpace* ioSpace, mork_aid inAid); morkAtomSpace* ioSpace, mork_aid inAid);

View file

@ -62,7 +62,7 @@ public: // morkNode virtual methods
virtual ~morkBead(); // assert that CloseBead() executed earlier virtual ~morkBead(); // assert that CloseBead() executed earlier
public: // special case for stack construction for map usage: public: // special case for stack construction for map usage:
morkBead(mork_color inBeadColor); // stack-based bead instance explicit morkBead(mork_color inBeadColor); // stack-based bead instance
protected: // special case for morkObject: protected: // special case for morkObject:
morkBead(const morkUsage& inUsage, nsIMdbHeap* ioHeap, morkBead(const morkUsage& inUsage, nsIMdbHeap* ioHeap,

View file

@ -41,9 +41,9 @@ public:
morkNext* mNext_Link; morkNext* mNext_Link;
public: public:
morkNext(int inZero) : mNext_Link( 0 ) { } explicit morkNext(int inZero) : mNext_Link( 0 ) { }
morkNext(morkNext* ioLink) : mNext_Link( ioLink ) { } explicit morkNext(morkNext* ioLink) : mNext_Link( ioLink ) { }
morkNext(); // mNext_Link( 0 ), { } morkNext(); // mNext_Link( 0 ), { }
@ -118,7 +118,7 @@ public:
morkLink* mLink_Prev; morkLink* mLink_Prev;
public: public:
morkLink(int inZero) : mLink_Next( 0 ), mLink_Prev( 0 ) { } explicit morkLink(int inZero) : mLink_Next( 0 ), mLink_Prev( 0 ) { }
morkLink(); // mLink_Next( 0 ), mLink_Prev( 0 ) { } morkLink(); // mLink_Next( 0 ), mLink_Prev( 0 ) { }

View file

@ -160,7 +160,7 @@ public: // morkFactory virtual methods
public: // morkYarn construction & destruction public: // morkYarn construction & destruction
morkFactory(); // uses orkinHeap morkFactory(); // uses orkinHeap
morkFactory(nsIMdbHeap* ioHeap); // caller supplied heap explicit morkFactory(nsIMdbHeap* ioHeap); // caller supplied heap
morkFactory(morkEnv* ev, const morkUsage& inUsage, nsIMdbHeap* ioHeap); morkFactory(morkEnv* ev, const morkUsage& inUsage, nsIMdbHeap* ioHeap);
void CloseFactory(morkEnv* ev); // called by CloseMorkNode(); void CloseFactory(morkEnv* ev); // called by CloseMorkNode();

View file

@ -56,7 +56,7 @@ public:
mork_usage mUsage_Code; // kHeap, kStack, kMember, or kGhost mork_usage mUsage_Code; // kHeap, kStack, kMember, or kGhost
public: public:
morkUsage(mork_usage inCode); explicit morkUsage(mork_usage inCode);
morkUsage(); // does nothing except maybe call EnsureReadyStaticUsage() morkUsage(); // does nothing except maybe call EnsureReadyStaticUsage()
void InitUsage( mork_usage inCode) void InitUsage( mork_usage inCode)
@ -163,7 +163,7 @@ public: // morkNode memory management operators
protected: // construction without an anv needed for first env constructed: protected: // construction without an anv needed for first env constructed:
morkNode(const morkUsage& inUsage, nsIMdbHeap* ioHeap); morkNode(const morkUsage& inUsage, nsIMdbHeap* ioHeap);
morkNode(mork_usage inCode); // usage == inCode, heap == nil explicit morkNode(mork_usage inCode); // usage == inCode, heap == nil
// { ===== begin basic node interface ===== // { ===== begin basic node interface =====
public: // morkNode virtual methods public: // morkNode virtual methods

View file

@ -119,7 +119,7 @@ morkParser::morkParser(morkEnv* ev,
, mParser_ColumnSpool(ev, &mParser_ColumnCoil) , mParser_ColumnSpool(ev, &mParser_ColumnCoil)
, mParser_StringSpool(ev, &mParser_StringCoil) , mParser_StringSpool(ev, &mParser_StringCoil)
, mParser_MidYarn(ev, morkUsage_kMember, ioSlotHeap) , mParser_MidYarn(ev, morkUsage(morkUsage_kMember), ioSlotHeap)
{ {
if ( inBytesPerParseSegment < morkParser_kMinGranularity ) if ( inBytesPerParseSegment < morkParser_kMinGranularity )
inBytesPerParseSegment = morkParser_kMinGranularity; inBytesPerParseSegment = morkParser_kMinGranularity;

View file

@ -95,7 +95,7 @@ public: // flags bit twiddling
public: // other row methods public: // other row methods
morkRow( ) { } morkRow( ) { }
morkRow(const mdbOid* inOid) :mRow_Oid(*inOid) { } explicit morkRow(const mdbOid* inOid) :mRow_Oid(*inOid) { }
void InitRow(morkEnv* ev, const mdbOid* inOid, morkRowSpace* ioSpace, void InitRow(morkEnv* ev, const mdbOid* inOid, morkRowSpace* ioSpace,
mork_size inLength, morkPool* ioPool); mork_size inLength, morkPool* ioPool);
// if inLength is nonzero, cells will be allocated from ioPool // if inLength is nonzero, cells will be allocated from ioPool

View file

@ -242,7 +242,7 @@ NS_IMETHODIMP nsAbBSDirectory::DeleteDirectory(nsIAbDirectory *directory)
struct GetDirectories struct GetDirectories
{ {
GetDirectories(DIR_Server* aServer) : mServer(aServer) { } explicit GetDirectories(DIR_Server* aServer) : mServer(aServer) { }
nsCOMArray<nsIAbDirectory> directories; nsCOMArray<nsIAbDirectory> directories;
DIR_Server* mServer; DIR_Server* mServer;

View file

@ -28,7 +28,7 @@ class nsAbMDBDirProperty: public nsIAbMDBDirectory, public nsAbDirProperty
public: public:
nsAbMDBDirProperty(void); nsAbMDBDirProperty(void);
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIABMDBDIRECTORY NS_DECL_NSIABMDBDIRECTORY
protected: protected:

View file

@ -15,7 +15,7 @@
class CharPtrArrayGuard class CharPtrArrayGuard
{ {
public: public:
CharPtrArrayGuard (bool freeElements = true) : explicit CharPtrArrayGuard (bool freeElements = true) :
mFreeElements (freeElements), mFreeElements (freeElements),
mArray (0), mArray (0),
mSize (0) mSize (0)
@ -80,7 +80,7 @@ private:
class PRUnicharPtrArrayGuard class PRUnicharPtrArrayGuard
{ {
public: public:
PRUnicharPtrArrayGuard (bool freeElements = true) : explicit PRUnicharPtrArrayGuard (bool freeElements = true) :
mFreeElements (freeElements), mFreeElements (freeElements),
mArray (0), mArray (0),
mSize (0) mSize (0)

View file

@ -2507,7 +2507,7 @@ public:
NS_DECL_NSIADDRDBLISTENER NS_DECL_NSIADDRDBLISTENER
// nsAddrDBEnumerator methods: // nsAddrDBEnumerator methods:
nsAddrDBEnumerator(nsAddrDatabase* aDb); explicit nsAddrDBEnumerator(nsAddrDatabase* aDb);
void Clear(); void Clear();
protected: protected:
virtual ~nsAddrDBEnumerator(); virtual ~nsAddrDBEnumerator();

View file

@ -20,7 +20,7 @@
class nsMsgResultElement class nsMsgResultElement
{ {
public: public:
nsMsgResultElement (nsIMsgSearchAdapter *); explicit nsMsgResultElement (nsIMsgSearchAdapter *);
virtual ~nsMsgResultElement (); virtual ~nsMsgResultElement ();
static nsresult AssignValues (nsIMsgSearchValue *src, nsMsgSearchValue *dst); static nsresult AssignValues (nsIMsgSearchValue *src, nsMsgSearchValue *dst);

View file

@ -41,7 +41,7 @@ class nsMsgSearchBoolExpression
public: public:
// create a leaf node expression // create a leaf node expression
nsMsgSearchBoolExpression(nsIMsgSearchTerm * aNewTerm, explicit nsMsgSearchBoolExpression(nsIMsgSearchTerm * aNewTerm,
char * aEncodingString = NULL); char * aEncodingString = NULL);
// create a non-leaf node expression containing 2 expressions // create a non-leaf node expression containing 2 expressions

View file

@ -11,7 +11,7 @@
class nsMsgSearchValueImpl : public nsIMsgSearchValue { class nsMsgSearchValueImpl : public nsIMsgSearchValue {
public: public:
nsMsgSearchValueImpl(nsMsgSearchValue *aInitialValue); explicit nsMsgSearchValueImpl(nsMsgSearchValue *aInitialValue);
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_DECL_NSIMSGSEARCHVALUE NS_DECL_NSIMSGSEARCHVALUE

View file

@ -29,7 +29,7 @@ private:
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_DECL_NSISIMPLEENUMERATOR NS_DECL_NSISIMPLEENUMERATOR
AppendingEnumerator(nsISimpleEnumerator* aBase); explicit AppendingEnumerator(nsISimpleEnumerator* aBase);
private: private:
~AppendingEnumerator() {} ~AppendingEnumerator() {}

View file

@ -29,7 +29,7 @@ class nsCopySource
{ {
public: public:
nsCopySource(); nsCopySource();
nsCopySource(nsIMsgFolder* srcFolder); explicit nsCopySource(nsIMsgFolder* srcFolder);
~nsCopySource(); ~nsCopySource();
void AddMessage(nsIMsgDBHdr* aMsg); void AddMessage(nsIMsgDBHdr* aMsg);

View file

@ -500,7 +500,7 @@ private:
NS_DECL_NSISIMPLEENUMERATOR NS_DECL_NSISIMPLEENUMERATOR
// nsMsgThreadEnumerator methods: // nsMsgThreadEnumerator methods:
nsMsgViewHdrEnumerator(nsMsgDBView *view); explicit nsMsgViewHdrEnumerator(nsMsgDBView *view);
RefPtr<nsMsgDBView> m_view; RefPtr<nsMsgDBView> m_view;
nsMsgViewIndex m_curHdrIndex; nsMsgViewIndex m_curHdrIndex;

View file

@ -21,7 +21,7 @@ public:
friend class nsMsgGroupView; friend class nsMsgGroupView;
nsMsgGroupThread(); nsMsgGroupThread();
nsMsgGroupThread(nsIMsgDatabase *db); explicit nsMsgGroupThread(nsIMsgDatabase *db);
NS_DECL_NSIMSGTHREAD NS_DECL_NSIMSGTHREAD
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS

View file

@ -653,7 +653,7 @@ nsMsgPrintEngine::PrintMsgWindow()
class nsPrintMsgWindowEvent : public mozilla::Runnable class nsPrintMsgWindowEvent : public mozilla::Runnable
{ {
public: public:
nsPrintMsgWindowEvent(nsMsgPrintEngine *mpe) explicit nsPrintMsgWindowEvent(nsMsgPrintEngine *mpe)
: mMsgPrintEngine(mpe) : mMsgPrintEngine(mpe)
{} {}
@ -672,7 +672,7 @@ private:
class nsStartNextPrintOpEvent : public mozilla::Runnable class nsStartNextPrintOpEvent : public mozilla::Runnable
{ {
public: public:
nsStartNextPrintOpEvent(nsMsgPrintEngine *mpe) explicit nsStartNextPrintOpEvent(nsMsgPrintEngine *mpe)
: mMsgPrintEngine(mpe) : mMsgPrintEngine(mpe)
{} {}

View file

@ -80,7 +80,7 @@ public:
protected: protected:
nsMsgKeySet(/* MSG_NewsHost* host */); nsMsgKeySet(/* MSG_NewsHost* host */);
nsMsgKeySet(const char* /* , MSG_NewsHost* host */); explicit nsMsgKeySet(const char* /* , MSG_NewsHost* host */);
bool Grow(); bool Grow();
bool Optimize(); bool Optimize();

View file

@ -50,7 +50,7 @@ public:
// flush last line, though it won't be CRLF terminated. // flush last line, though it won't be CRLF terminated.
virtual nsresult FlushLastLine(); virtual nsresult FlushLastLine();
protected: protected:
nsMsgLineBuffer(bool convertNewlinesP); explicit nsMsgLineBuffer(bool convertNewlinesP);
nsresult ConvertAndSendBuffer(); nsresult ConvertAndSendBuffer();
void SetLookingForCRLF(bool b); void SetLookingForCRLF(bool b);

View file

@ -27,7 +27,7 @@ class SendOperationListener : public nsIMsgSendListener,
public nsIMsgCopyServiceListener public nsIMsgCopyServiceListener
{ {
public: public:
SendOperationListener(nsMsgSendLater *aSendLater); explicit SendOperationListener(nsMsgSendLater *aSendLater);
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_DECL_NSIMSGSENDLISTENER NS_DECL_NSIMSGSENDLISTENER

View file

@ -22,7 +22,7 @@ typedef int (*MSG_SendPartWriteFunc)(const char* line, int32_t size,
class nsMsgSendPart { class nsMsgSendPart {
typedef mozilla::mailnews::MimeEncoder MimeEncoder; typedef mozilla::mailnews::MimeEncoder MimeEncoder;
public: public:
nsMsgSendPart(nsIMsgSend* state, const char *part_charset = NULL); explicit nsMsgSendPart(nsIMsgSend* state, const char *part_charset = NULL);
virtual ~nsMsgSendPart(); // Note that the destructor also destroys virtual ~nsMsgSendPart(); // Note that the destructor also destroys
// any children that were added. // any children that were added.

View file

@ -2261,10 +2261,12 @@ nsSmtpProtocol::GetUsernamePassword(nsACString &aUsername,
nsCString hostname; nsCString hostname;
rv = smtpServer->GetHostname(hostname); rv = smtpServer->GetHostname(hostname);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
nsAutoString hostnameUTF16;
CopyASCIItoUTF16(hostname, hostnameUTF16);
const char16_t *formatStrings[] = const char16_t *formatStrings[] =
{ {
NS_ConvertASCIItoUTF16(hostname).get(), hostnameUTF16.get(),
nullptr nullptr
}; };

View file

@ -109,7 +109,7 @@ public:
#endif #endif
// Creating a protocol instance requires the URL which needs to be run. // Creating a protocol instance requires the URL which needs to be run.
nsSmtpProtocol(nsIURI * aURL); explicit nsSmtpProtocol(nsIURI * aURL);
virtual nsresult LoadUrl(nsIURI * aURL, nsISupports * aConsumer = nullptr) override; virtual nsresult LoadUrl(nsIURI * aURL, nsISupports * aConsumer = nullptr) override;
virtual nsresult SendData(const char * dataBuffer, bool aSuppressLogging = false) override; virtual nsresult SendData(const char * dataBuffer, bool aSuppressLogging = false) override;

View file

@ -85,7 +85,7 @@ private:
class nsURLFetcherStreamConsumer : public nsIStreamListener class nsURLFetcherStreamConsumer : public nsIStreamListener
{ {
public: public:
nsURLFetcherStreamConsumer(nsURLFetcher* urlFetcher); explicit nsURLFetcherStreamConsumer(nsURLFetcher* urlFetcher);
/* additional members */ /* additional members */
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS

View file

@ -31,7 +31,7 @@ class nsDBFolderInfo : public nsIDBFolderInfo
public: public:
friend class nsMsgDatabase; friend class nsMsgDatabase;
nsDBFolderInfo(nsMsgDatabase *mdb); explicit nsDBFolderInfo(nsMsgDatabase *mdb);
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
// interface methods. // interface methods.

View file

@ -336,7 +336,7 @@ public:
// nsISimpleEnumerator methods: // nsISimpleEnumerator methods:
NS_DECL_NSISIMPLEENUMERATOR NS_DECL_NSISIMPLEENUMERATOR
nsMsgOfflineOpEnumerator(nsMailDatabase* db); explicit nsMsgOfflineOpEnumerator(nsMailDatabase* db);
protected: protected:
virtual ~nsMsgOfflineOpEnumerator(); virtual ~nsMsgOfflineOpEnumerator();

View file

@ -1024,7 +1024,7 @@ class MsgDBReporter final : public nsIMemoryReporter
{ {
nsMsgDatabase *mDatabase; nsMsgDatabase *mDatabase;
public: public:
MsgDBReporter(nsMsgDatabase *db) : mDatabase(db) {} explicit MsgDBReporter(nsMsgDatabase *db) : mDatabase(db) {}
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_IMETHOD GetName(nsACString &aName) NS_IMETHOD GetName(nsACString &aName)

View file

@ -998,7 +998,7 @@ public:
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_DECL_NSIUTF8STRINGENUMERATOR NS_DECL_NSIUTF8STRINGENUMERATOR
nsMsgPropertyEnumerator(nsMsgHdr* aHdr); explicit nsMsgPropertyEnumerator(nsMsgHdr* aHdr);
void PrefetchNext(); void PrefetchNext();
protected: protected:

View file

@ -898,7 +898,7 @@ public:
NS_DECL_NSISTREAMLISTENER NS_DECL_NSISTREAMLISTENER
NS_DECL_NSIMSGHEADERSINK NS_DECL_NSIMSGHEADERSINK
TokenStreamListener(TokenAnalyzer* analyzer); explicit TokenStreamListener(TokenAnalyzer* analyzer);
protected: protected:
virtual ~TokenStreamListener(); virtual ~TokenStreamListener();
TokenAnalyzer* mAnalyzer; TokenAnalyzer* mAnalyzer;

View file

@ -40,7 +40,7 @@ struct CorpusToken;
*/ */
class TokenEnumeration { class TokenEnumeration {
public: public:
TokenEnumeration(PLDHashTable* table); explicit TokenEnumeration(PLDHashTable* table);
bool hasMoreTokens(); bool hasMoreTokens();
BaseToken* nextToken(); BaseToken* nextToken();
@ -96,7 +96,7 @@ public:
BaseToken* add(const char* word); BaseToken* add(const char* word);
protected: protected:
TokenHash(uint32_t entrySize); explicit TokenHash(uint32_t entrySize);
PLArenaPool mWordPool; PLArenaPool mWordPool;
uint32_t mEntrySize; uint32_t mEntrySize;
PLDHashTable mTokenTable; PLDHashTable mTokenTable;

View file

@ -56,7 +56,7 @@ public:
NS_DECL_NSIAUTOSYNCSTATE NS_DECL_NSIAUTOSYNCSTATE
NS_DECL_NSIURLLISTENER NS_DECL_NSIURLLISTENER
nsAutoSyncState(nsImapMailFolder *aOwnerFolder, PRTime aLastSyncTime = 0UL); explicit nsAutoSyncState(nsImapMailFolder *aOwnerFolder, PRTime aLastSyncTime = 0UL);
/// Called by owner folder when new headers are fetched from the server /// Called by owner folder when new headers are fetched from the server
void OnNewHeaderFetchCompleted(const nsTArray<nsMsgKey> &aMsgKeyList); void OnNewHeaderFetchCompleted(const nsTArray<nsMsgKey> &aMsgKeyList);

View file

@ -20,7 +20,7 @@ class nsImapFlagAndUidState : public nsIImapFlagAndUidState
{ {
public: public:
NS_DECL_THREADSAFE_ISUPPORTS NS_DECL_THREADSAFE_ISUPPORTS
nsImapFlagAndUidState(int numberOfMessages); explicit nsImapFlagAndUidState(int numberOfMessages);
NS_DECL_NSIIMAPFLAGANDUIDSTATE NS_DECL_NSIIMAPFLAGANDUIDSTATE

View file

@ -6363,7 +6363,7 @@ NS_IMETHODIMP nsImapMailFolder::GetOtherUsersWithAccess(
class AdoptUTF8StringEnumerator final : public nsIUTF8StringEnumerator class AdoptUTF8StringEnumerator final : public nsIUTF8StringEnumerator
{ {
public: public:
AdoptUTF8StringEnumerator(nsTArray<nsCString>* array) : explicit AdoptUTF8StringEnumerator(nsTArray<nsCString>* array) :
mStrings(array), mIndex(0) mStrings(array), mIndex(0)
{} {}

View file

@ -115,7 +115,7 @@ class nsImapMailFolder;
class nsMsgIMAPFolderACL class nsMsgIMAPFolderACL
{ {
public: public:
nsMsgIMAPFolderACL(nsImapMailFolder *folder); explicit nsMsgIMAPFolderACL(nsImapMailFolder *folder);
~nsMsgIMAPFolderACL(); ~nsMsgIMAPFolderACL();
bool SetFolderRightsForUser(const nsACString& userName, const nsACString& rights); bool SetFolderRightsForUser(const nsACString& userName, const nsACString& rights);

View file

@ -1057,7 +1057,7 @@ void nsImapProtocol::ReleaseUrlState(bool rerunning)
class nsImapThreadShutdownEvent : public mozilla::Runnable { class nsImapThreadShutdownEvent : public mozilla::Runnable {
public: public:
nsImapThreadShutdownEvent(nsIThread *thread) : mThread(thread) { explicit nsImapThreadShutdownEvent(nsIThread *thread) : mThread(thread) {
} }
NS_IMETHOD Run() { NS_IMETHOD Run() {
mThread->Shutdown(); mThread->Shutdown();
@ -9580,7 +9580,7 @@ nsresult nsImapMockChannel::ReadFromMemCache(nsICacheEntry *entry)
class nsReadFromImapConnectionFailure : public mozilla::Runnable class nsReadFromImapConnectionFailure : public mozilla::Runnable
{ {
public: public:
nsReadFromImapConnectionFailure(nsImapMockChannel *aChannel) explicit nsReadFromImapConnectionFailure(nsImapMockChannel *aChannel)
: mImapMockChannel(aChannel) : mImapMockChannel(aChannel)
{} {}

View file

@ -25,7 +25,7 @@ private:
class nsImapSearchResultIterator { class nsImapSearchResultIterator {
public: public:
nsImapSearchResultIterator(nsImapSearchResultSequence &sequence); explicit nsImapSearchResultIterator(nsImapSearchResultSequence &sequence);
virtual ~nsImapSearchResultIterator(); virtual ~nsImapSearchResultIterator();
void ResetIterator(); void ResetIterator();

View file

@ -28,7 +28,7 @@ class nsCString;
class nsImapServerResponseParser : public nsIMAPGenericParser class nsImapServerResponseParser : public nsIMAPGenericParser
{ {
public: public:
nsImapServerResponseParser(nsImapProtocol &imapConnection); explicit nsImapServerResponseParser(nsImapProtocol &imapConnection);
virtual ~nsImapServerResponseParser(); virtual ~nsImapServerResponseParser();
// Overridden from the base parser class // Overridden from the base parser class

View file

@ -27,7 +27,7 @@
class StreamListenerProxy final : public nsIStreamListener class StreamListenerProxy final : public nsIStreamListener
{ {
public: public:
StreamListenerProxy(nsIStreamListener* receiver) explicit StreamListenerProxy(nsIStreamListener* receiver)
: mReceiver(receiver) : mReceiver(receiver)
{ } { }
@ -45,7 +45,7 @@ private:
class ImapMailFolderSinkProxy final : public nsIImapMailFolderSink class ImapMailFolderSinkProxy final : public nsIImapMailFolderSink
{ {
public: public:
ImapMailFolderSinkProxy(nsIImapMailFolderSink* receiver) explicit ImapMailFolderSinkProxy(nsIImapMailFolderSink* receiver)
: mReceiver(receiver) : mReceiver(receiver)
{ {
NS_ASSERTION(receiver, "Don't allow receiver is nullptr"); NS_ASSERTION(receiver, "Don't allow receiver is nullptr");
@ -64,7 +64,7 @@ private:
class ImapServerSinkProxy final : public nsIImapServerSink class ImapServerSinkProxy final : public nsIImapServerSink
{ {
public: public:
ImapServerSinkProxy(nsIImapServerSink* receiver) explicit ImapServerSinkProxy(nsIImapServerSink* receiver)
: mReceiver(receiver) : mReceiver(receiver)
{ } { }
@ -82,7 +82,7 @@ private:
class ImapMessageSinkProxy final : public nsIImapMessageSink class ImapMessageSinkProxy final : public nsIImapMessageSink
{ {
public: public:
ImapMessageSinkProxy(nsIImapMessageSink* receiver) explicit ImapMessageSinkProxy(nsIImapMessageSink* receiver)
: mReceiver(receiver) : mReceiver(receiver)
{ } { }
@ -99,7 +99,7 @@ private:
class ImapProtocolSinkProxy final : public nsIImapProtocolSink class ImapProtocolSinkProxy final : public nsIImapProtocolSink
{ {
public: public:
ImapProtocolSinkProxy(nsIImapProtocolSink* receiver) explicit ImapProtocolSinkProxy(nsIImapProtocolSink* receiver)
: mReceiver(receiver) : mReceiver(receiver)
{ } { }

View file

@ -24,7 +24,7 @@ public:
NS_DECL_NSIIMPORTFIELDMAP NS_DECL_NSIIMPORTFIELDMAP
nsImportFieldMap(nsIStringBundle *aBundle); explicit nsImportFieldMap(nsIStringBundle *aBundle);
static NS_METHOD Create(nsIStringBundle *aBundle, nsISupports *aOuter, REFNSIID aIID, void **aResult); static NS_METHOD Create(nsIStringBundle *aBundle, nsISupports *aOuter, REFNSIID aIID, void **aResult);

View file

@ -993,7 +993,7 @@ bool nsImportGenericMail::CreateFolder(nsIMsgFolder **ppFolder)
class GetSubFoldersRunnable : public mozilla::Runnable class GetSubFoldersRunnable : public mozilla::Runnable
{ {
public: public:
GetSubFoldersRunnable(nsIMsgFolder *aFolder); explicit GetSubFoldersRunnable(nsIMsgFolder *aFolder);
NS_DECL_NSIRUNNABLE NS_DECL_NSIRUNNABLE
private: private:
nsCOMPtr<nsIMsgFolder> m_folder; nsCOMPtr<nsIMsgFolder> m_folder;
@ -1182,7 +1182,7 @@ nsresult ProxyCreateSubfolder(nsIMsgFolder *aFolder, const nsAString &aName)
class ForceDBClosedRunnable : public mozilla::Runnable class ForceDBClosedRunnable : public mozilla::Runnable
{ {
public: public:
ForceDBClosedRunnable(nsIMsgFolder *aFolder); explicit ForceDBClosedRunnable(nsIMsgFolder *aFolder);
NS_DECL_NSIRUNNABLE NS_DECL_NSIRUNNABLE
protected: protected:
nsCOMPtr<nsIMsgFolder> m_folder; nsCOMPtr<nsIMsgFolder> m_folder;

View file

@ -51,7 +51,7 @@ PRLogModuleInfo* TEXTIMPORTLOGMODULE;
class ImportAddressImpl final : public nsIImportAddressBooks class ImportAddressImpl final : public nsIImportAddressBooks
{ {
public: public:
ImportAddressImpl(nsIStringBundle* aStringBundle); explicit ImportAddressImpl(nsIStringBundle* aStringBundle);
static nsresult Create(nsIImportAddressBooks** aImport, static nsresult Create(nsIImportAddressBooks** aImport,
nsIStringBundle *aStringBundle); nsIStringBundle *aStringBundle);

View file

@ -30,7 +30,7 @@ static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
class ImportVCardAddressImpl : public nsIImportAddressBooks class ImportVCardAddressImpl : public nsIImportAddressBooks
{ {
public: public:
ImportVCardAddressImpl(nsIStringBundle* aStringBundle); explicit ImportVCardAddressImpl(nsIStringBundle* aStringBundle);
static nsresult Create( static nsresult Create(
nsIImportAddressBooks** aImport, nsIStringBundle* aStringBundle); nsIImportAddressBooks** aImport, nsIStringBundle* aStringBundle);

View file

@ -20,7 +20,7 @@ class DelegateList : public msgIDelegateList
public: public:
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_DECL_MSGIDELEGATELIST NS_DECL_MSGIDELEGATELIST
DelegateList(const char *aWindowsPrefix) : explicit DelegateList(const char *aWindowsPrefix) :
mPrefix(aWindowsPrefix) mPrefix(aWindowsPrefix)
{ } { }
nsDataHashtable<nsCStringHashKey, bool> mMethods; nsDataHashtable<nsCStringHashKey, bool> mMethods;

View file

@ -56,7 +56,7 @@ private:
public nsIInterfaceRequestor public nsIInterfaceRequestor
{ {
public: public:
Super(JaCppAbDirectoryDelegator* aFakeThis) {mFakeThis = aFakeThis;} explicit Super(JaCppAbDirectoryDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_FORWARD_NSIABDIRECTORY(mFakeThis->JaBaseCppAbDirectory::) NS_FORWARD_NSIABDIRECTORY(mFakeThis->JaBaseCppAbDirectory::)
NS_FORWARD_NSIABCOLLECTION(mFakeThis->JaBaseCppAbDirectory::) NS_FORWARD_NSIABCOLLECTION(mFakeThis->JaBaseCppAbDirectory::)

View file

@ -60,7 +60,7 @@ private:
public nsIInterfaceRequestor public nsIInterfaceRequestor
{ {
public: public:
Super(JaCppComposeDelegator* aFakeThis) {mFakeThis = aFakeThis;} explicit Super(JaCppComposeDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
// Forward all overridable methods, bypassing JS override. // Forward all overridable methods, bypassing JS override.
NS_FORWARD_NSIMSGCOMPOSE(mFakeThis->JaBaseCppCompose::) NS_FORWARD_NSIMSGCOMPOSE(mFakeThis->JaBaseCppCompose::)

View file

@ -63,7 +63,7 @@ private:
public nsIInterfaceRequestor public nsIInterfaceRequestor
{ {
public: public:
Super(JaCppIncomingServerDelegator* aFakeThis) {mFakeThis = aFakeThis;} explicit Super(JaCppIncomingServerDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
// Forward all overridable methods, bypassing JS override. // Forward all overridable methods, bypassing JS override.
NS_FORWARD_NSIMSGINCOMINGSERVER(mFakeThis->JaBaseCppIncomingServer::) NS_FORWARD_NSIMSGINCOMINGSERVER(mFakeThis->JaBaseCppIncomingServer::)

View file

@ -89,7 +89,7 @@ private:
// Why fake this? Because this method is fully owned by // Why fake this? Because this method is fully owned by
// JaCppMsgFolderDelegator, and this reference is to the "this" of the // JaCppMsgFolderDelegator, and this reference is to the "this" of the
// main method. But it is not really the local "this". // main method. But it is not really the local "this".
Super(JaCppMsgFolderDelegator* aFakeThis) {mFakeThis = aFakeThis;} explicit Super(JaCppMsgFolderDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_FORWARD_NSIMSGFOLDER(mFakeThis->JaBaseCppMsgFolder::) NS_FORWARD_NSIMSGFOLDER(mFakeThis->JaBaseCppMsgFolder::)
NS_FORWARD_NSIRDFRESOURCE(mFakeThis->JaBaseCppMsgFolder::) NS_FORWARD_NSIRDFRESOURCE(mFakeThis->JaBaseCppMsgFolder::)

View file

@ -63,7 +63,7 @@ private:
public nsIInterfaceRequestor public nsIInterfaceRequestor
{ {
public: public:
Super(JaCppSendDelegator* aFakeThis) {mFakeThis = aFakeThis;} explicit Super(JaCppSendDelegator* aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
// Forward all overridable methods, bypassing JS override. // Forward all overridable methods, bypassing JS override.
NS_FORWARD_NSIMSGSEND(mFakeThis->JaBaseCppSend::) NS_FORWARD_NSIMSGSEND(mFakeThis->JaBaseCppSend::)

View file

@ -79,7 +79,7 @@ public:
public nsIInterfaceRequestor public nsIInterfaceRequestor
{ {
public: public:
Super(JaCppUrlDelegator *aFakeThis) {mFakeThis = aFakeThis;} explicit Super(JaCppUrlDelegator *aFakeThis) {mFakeThis = aFakeThis;}
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_FORWARD_NSIMSGMAILNEWSURL(mFakeThis->JaBaseCppUrl::) NS_FORWARD_NSIMSGMAILNEWSURL(mFakeThis->JaBaseCppUrl::)
NS_FORWARD_NSIURI(mFakeThis->JaBaseCppUrl::) NS_FORWARD_NSIURI(mFakeThis->JaBaseCppUrl::)

View file

@ -50,7 +50,7 @@ class nsMailboxProtocol : public nsMsgProtocol
public: public:
// Creating a protocol instance requires the URL which needs to be run AND it requires // Creating a protocol instance requires the URL which needs to be run AND it requires
// a transport layer. // a transport layer.
nsMailboxProtocol(nsIURI * aURL); explicit nsMailboxProtocol(nsIURI * aURL);
virtual ~nsMailboxProtocol(); virtual ~nsMailboxProtocol();
// initialization function given a new url and transport layer // initialization function given a new url and transport layer

View file

@ -133,7 +133,7 @@ protected:
class nsMsgMailboxParser : public nsIStreamListener, public nsParseMailMessageState, public nsMsgLineBuffer class nsMsgMailboxParser : public nsIStreamListener, public nsParseMailMessageState, public nsMsgLineBuffer
{ {
public: public:
nsMsgMailboxParser(nsIMsgFolder *); explicit nsMsgMailboxParser(nsIMsgFolder *);
nsMsgMailboxParser(); nsMsgMailboxParser();
nsresult Init(); nsresult Init();

View file

@ -254,7 +254,7 @@ class nsPop3Protocol : public nsMsgProtocol,
public nsIMsgAsyncPromptListener public nsIMsgAsyncPromptListener
{ {
public: public:
nsPop3Protocol(nsIURI* aURL); explicit nsPop3Protocol(nsIURI* aURL);
NS_DECL_ISUPPORTS_INHERITED NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIPOP3PROTOCOL NS_DECL_NSIPOP3PROTOCOL

View file

@ -47,7 +47,7 @@ template <uint32_t N = 5>
class UTF16ArrayAdapter class UTF16ArrayAdapter
{ {
public: public:
UTF16ArrayAdapter(nsTArray<nsCString> &aUTF8Array) explicit UTF16ArrayAdapter(nsTArray<nsCString> &aUTF8Array)
: mUTF8Array(aUTF8Array) {} : mUTF8Array(aUTF8Array) {}
~UTF16ArrayAdapter() { detail::DoConversion(mUTF16Array, mUTF8Array); } ~UTF16ArrayAdapter() { detail::DoConversion(mUTF16Array, mUTF8Array); }
operator nsTArray<nsString>&() { return mUTF16Array; } operator nsTArray<nsString>&() { return mUTF16Array; }

View file

@ -32,7 +32,7 @@ public:
NS_DECL_NSICMSMESSAGE2 NS_DECL_NSICMSMESSAGE2
nsCMSMessage(); nsCMSMessage();
nsCMSMessage(NSSCMSMessage* aCMSMsg); explicit nsCMSMessage(NSSCMSMessage* aCMSMsg);
nsresult Init(); nsresult Init();
void referenceContext(nsIInterfaceRequestor* aContext) {m_ctx = aContext;} void referenceContext(nsIInterfaceRequestor* aContext) {m_ctx = aContext;}

View file

@ -164,7 +164,7 @@ MimeSimpleStubClassInitialize(MimeSimpleStubClass *clazz)
class nsSimpleMimeConverterStub : public nsIMimeContentTypeHandler class nsSimpleMimeConverterStub : public nsIMimeContentTypeHandler
{ {
public: public:
nsSimpleMimeConverterStub(const char *aContentType) : mContentType(aContentType) { } explicit nsSimpleMimeConverterStub(const char *aContentType) : mContentType(aContentType) { }
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS