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
morkWeeBookAtom() { }
morkWeeBookAtom(mork_aid inAid);
explicit morkWeeBookAtom(mork_aid inAid);
void InitWeeBookAtom(morkEnv* ev, const morkBuf& inBuf,
morkAtomSpace* ioSpace, mork_aid inAid);

View file

@ -62,7 +62,7 @@ public: // morkNode virtual methods
virtual ~morkBead(); // assert that CloseBead() executed earlier
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:
morkBead(const morkUsage& inUsage, nsIMdbHeap* ioHeap,

View file

@ -41,9 +41,9 @@ public:
morkNext* mNext_Link;
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 ), { }
@ -118,7 +118,7 @@ public:
morkLink* mLink_Prev;
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 ) { }

View file

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

View file

@ -56,7 +56,7 @@ public:
mork_usage mUsage_Code; // kHeap, kStack, kMember, or kGhost
public:
morkUsage(mork_usage inCode);
explicit morkUsage(mork_usage inCode);
morkUsage(); // does nothing except maybe call EnsureReadyStaticUsage()
void InitUsage( mork_usage inCode)
@ -163,7 +163,7 @@ public: // morkNode memory management operators
protected: // construction without an anv needed for first env constructed:
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 =====
public: // morkNode virtual methods

View file

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

View file

@ -95,7 +95,7 @@ public: // flags bit twiddling
public: // other row methods
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,
mork_size inLength, morkPool* 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
{
GetDirectories(DIR_Server* aServer) : mServer(aServer) { }
explicit GetDirectories(DIR_Server* aServer) : mServer(aServer) { }
nsCOMArray<nsIAbDirectory> directories;
DIR_Server* mServer;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -22,7 +22,7 @@ typedef int (*MSG_SendPartWriteFunc)(const char* line, int32_t size,
class nsMsgSendPart {
typedef mozilla::mailnews::MimeEncoder MimeEncoder;
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
// any children that were added.

View file

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

View file

@ -109,7 +109,7 @@ public:
#endif
// 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 SendData(const char * dataBuffer, bool aSuppressLogging = false) override;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -56,7 +56,7 @@ public:
NS_DECL_NSIAUTOSYNCSTATE
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
void OnNewHeaderFetchCompleted(const nsTArray<nsMsgKey> &aMsgKeyList);

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -24,7 +24,7 @@ public:
NS_DECL_NSIIMPORTFIELDMAP
nsImportFieldMap(nsIStringBundle *aBundle);
explicit nsImportFieldMap(nsIStringBundle *aBundle);
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
{
public:
GetSubFoldersRunnable(nsIMsgFolder *aFolder);
explicit GetSubFoldersRunnable(nsIMsgFolder *aFolder);
NS_DECL_NSIRUNNABLE
private:
nsCOMPtr<nsIMsgFolder> m_folder;
@ -1182,7 +1182,7 @@ nsresult ProxyCreateSubfolder(nsIMsgFolder *aFolder, const nsAString &aName)
class ForceDBClosedRunnable : public mozilla::Runnable
{
public:
ForceDBClosedRunnable(nsIMsgFolder *aFolder);
explicit ForceDBClosedRunnable(nsIMsgFolder *aFolder);
NS_DECL_NSIRUNNABLE
protected:
nsCOMPtr<nsIMsgFolder> m_folder;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -89,7 +89,7 @@ private:
// Why fake this? Because this method is fully owned by
// JaCppMsgFolderDelegator, and this reference is to the "this" of the
// 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_FORWARD_NSIMSGFOLDER(mFakeThis->JaBaseCppMsgFolder::)
NS_FORWARD_NSIRDFRESOURCE(mFakeThis->JaBaseCppMsgFolder::)

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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