mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 11:25:00 +00:00
Continuing removal of unneeded virtual destructors (bug 229875). r=dougt, sr=dbaron.
This commit is contained in:
parent
063eb3074e
commit
a10a5e8383
@ -56,17 +56,13 @@ nsInt2StrHashtable::nsInt2StrHashtable()
|
||||
{
|
||||
}
|
||||
|
||||
nsInt2StrHashtable::~nsInt2StrHashtable()
|
||||
{
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsInt2StrHashtable::Put(PRUint32 key, const char* aData)
|
||||
{
|
||||
char* value = nsCRT::strdup(aData);
|
||||
if (value == nsnull)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
nsVoidKey k((void*)key);
|
||||
nsPRUint32Key k(key);
|
||||
char* oldValue = (char*)mHashtable.Put(&k, value);
|
||||
if (oldValue)
|
||||
nsCRT::free(oldValue);
|
||||
@ -76,7 +72,7 @@ nsInt2StrHashtable::Put(PRUint32 key, const char* aData)
|
||||
char*
|
||||
nsInt2StrHashtable::Get(PRUint32 key)
|
||||
{
|
||||
nsVoidKey k((void*)key);
|
||||
nsPRUint32Key k(key);
|
||||
const char* value = (const char*)mHashtable.Get(&k);
|
||||
if (value == nsnull)
|
||||
return nsnull;
|
||||
@ -86,7 +82,7 @@ nsInt2StrHashtable::Get(PRUint32 key)
|
||||
nsresult
|
||||
nsInt2StrHashtable::Remove(PRUint32 key)
|
||||
{
|
||||
nsVoidKey k((void*)key);
|
||||
nsPRUint32Key k(key);
|
||||
char* oldValue = (char*)mHashtable.Remove(&k);
|
||||
if (oldValue)
|
||||
nsCRT::free(oldValue);
|
||||
|
@ -45,7 +45,6 @@ class nsInt2StrHashtable
|
||||
{
|
||||
public:
|
||||
nsInt2StrHashtable();
|
||||
virtual ~nsInt2StrHashtable();
|
||||
|
||||
nsresult Put(PRUint32 key, const char* aData);
|
||||
char* Get(PRUint32 key);
|
||||
|
@ -95,6 +95,10 @@ protected:
|
||||
mCount(0),
|
||||
mSimpleCurItem(0),
|
||||
mStringCurItem(0) { }
|
||||
|
||||
// A virtual destructor is needed here because subclasses of
|
||||
// BaseStringEnumerator do not implement their own Release() method.
|
||||
|
||||
virtual ~BaseStringEnumerator()
|
||||
{
|
||||
if (mArray)
|
||||
|
@ -58,7 +58,6 @@ public:
|
||||
// nothing else to do;
|
||||
}
|
||||
virtual nsresult operator()( const nsIID& aIID, void** aInstancePtr) const;
|
||||
virtual ~nsCreateInstanceFromCategory() {};
|
||||
|
||||
private:
|
||||
const char *mCategory; // Do not free. This char * is not owned.
|
||||
|
@ -413,13 +413,14 @@ public:
|
||||
NS_DECL_NSIBIDIRECTIONALENUMERATOR
|
||||
NS_DECL_NSISIMPLEENUMERATOR
|
||||
|
||||
virtual ~PLDHashTableEnumeratorImpl();
|
||||
PLDHashTableEnumeratorImpl(PLDHashTable *table,
|
||||
EnumeratorConverter converter,
|
||||
void *converterData);
|
||||
PRInt32 Count() { return mCount; }
|
||||
private:
|
||||
PLDHashTableEnumeratorImpl(); /* no implementation */
|
||||
|
||||
~PLDHashTableEnumeratorImpl();
|
||||
NS_IMETHODIMP ReleaseElements();
|
||||
|
||||
nsVoidArray mElements;
|
||||
@ -513,13 +514,15 @@ PL_NewDHashTableEnumerator(PLDHashTable *table,
|
||||
if (!impl)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
NS_ADDREF(impl);
|
||||
|
||||
if (impl->Count() == -1) {
|
||||
// conversion failed
|
||||
delete impl;
|
||||
NS_RELEASE(impl);
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NS_ADDREF(*retval = impl);
|
||||
*retval = impl;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -321,7 +321,7 @@ class AutoRegEntry
|
||||
{
|
||||
public:
|
||||
AutoRegEntry(const nsACString& name, PRInt64* modDate);
|
||||
virtual ~AutoRegEntry();
|
||||
~AutoRegEntry();
|
||||
|
||||
const nsDependentCString GetName()
|
||||
{ return nsDependentCString(mName, mNameLen); }
|
||||
|
@ -56,7 +56,6 @@ class NS_COM nsGetServiceByCID : public nsCOMPtr_helper
|
||||
}
|
||||
|
||||
virtual nsresult operator()( const nsIID&, void** ) const;
|
||||
virtual ~nsGetServiceByCID() {};
|
||||
|
||||
private:
|
||||
const nsCID& mCID;
|
||||
@ -91,8 +90,6 @@ class NS_COM nsGetServiceByContractID : public nsCOMPtr_helper
|
||||
|
||||
virtual nsresult operator()( const nsIID&, void** ) const;
|
||||
|
||||
virtual ~nsGetServiceByContractID() {};
|
||||
|
||||
private:
|
||||
const char* mContractID;
|
||||
nsCOMPtr<nsIServiceManager> mServiceManager;
|
||||
@ -128,7 +125,6 @@ class nsGetServiceFromCategory : public nsCOMPtr_helper
|
||||
}
|
||||
|
||||
virtual nsresult operator()( const nsIID&, void** ) const;
|
||||
virtual ~nsGetServiceFromCategory() {};
|
||||
protected:
|
||||
const char* mCategory;
|
||||
const char* mEntry;
|
||||
|
@ -73,7 +73,7 @@ public:
|
||||
{
|
||||
MOZ_COUNT_CTOR(nsStaticAtomWrapper);
|
||||
}
|
||||
virtual ~nsStaticAtomWrapper() {
|
||||
~nsStaticAtomWrapper() { // no subclasses -> not virtual
|
||||
// this is arena allocated and won't be called except in debug
|
||||
// builds. If this function ever does anything non-debug, be sure
|
||||
// to get rid of the ifdefs in AtomTableClearEntry!
|
||||
@ -200,7 +200,7 @@ AtomTableClearEntry(PLDHashTable *table, PLDHashEntryHdr *entry)
|
||||
// deleted when they are removed from the table at table destruction.
|
||||
// In other words, they are owned by the atom table.
|
||||
if (atom->IsPermanent())
|
||||
delete atom;
|
||||
delete NS_STATIC_CAST(PermanentAtomImpl*, atom);
|
||||
}
|
||||
else {
|
||||
he->GetStaticAtomWrapper()->~nsStaticAtomWrapper();
|
||||
|
@ -49,8 +49,13 @@
|
||||
class AtomImpl : public nsIAtom {
|
||||
public:
|
||||
AtomImpl();
|
||||
virtual ~AtomImpl();
|
||||
|
||||
protected:
|
||||
// We don't need a virtual destructor here because PermanentAtomImpl
|
||||
// deletions aren't handled through Release().
|
||||
~AtomImpl();
|
||||
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIATOM
|
||||
|
||||
|
@ -59,6 +59,9 @@ class NS_COM nsHashKey {
|
||||
|
||||
|
||||
public:
|
||||
// Virtual destructor because all hash keys are |delete|d via a
|
||||
// nsHashKey pointer.
|
||||
|
||||
virtual ~nsHashKey(void);
|
||||
virtual PRUint32 HashCode(void) const = 0;
|
||||
virtual PRBool Equals(const nsHashKey *aKey) const = 0;
|
||||
@ -119,7 +122,7 @@ class NS_COM nsHashtable {
|
||||
|
||||
public:
|
||||
nsHashtable(PRUint32 aSize = 16, PRBool threadSafe = PR_FALSE);
|
||||
virtual ~nsHashtable();
|
||||
~nsHashtable();
|
||||
|
||||
PRInt32 Count(void) { return mHashtable.entryCount; }
|
||||
PRBool Exists(nsHashKey *aKey);
|
||||
|
@ -47,7 +47,7 @@ static const PRUint32 kAutoArraySize = 8;
|
||||
class NS_COM nsSupportsArray : public nsISupportsArray {
|
||||
public:
|
||||
nsSupportsArray(void);
|
||||
virtual ~nsSupportsArray(void);
|
||||
~nsSupportsArray(void); // nonvirtual since we're not subclassed
|
||||
|
||||
static NS_METHOD
|
||||
Create(nsISupports *aOuter, REFNSIID aIID, void **aResult);
|
||||
|
@ -543,12 +543,8 @@ NS_NewGenericModule2(nsModuleInfo* info, nsIModule* *result)
|
||||
if (!m)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
// Increase refcnt and store away nsIModule interface to m in return_cobj
|
||||
rv = m->QueryInterface(NS_GET_IID(nsIModule), (void**)result);
|
||||
if (NS_FAILED(rv)) {
|
||||
delete m;
|
||||
m = nsnull;
|
||||
}
|
||||
// Increase refcnt and store away nsIModule interface to m in result
|
||||
NS_ADDREF(*result = m);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
@ -85,8 +85,10 @@ public:
|
||||
nsModuleDestructorProc dtor,
|
||||
const char** alibDepends);
|
||||
|
||||
virtual ~nsGenericModule();
|
||||
private:
|
||||
~nsGenericModule();
|
||||
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
NS_DECL_NSIMODULE
|
||||
|
@ -49,7 +49,6 @@ class NS_COM nsGetInterface : public nsCOMPtr_helper
|
||||
}
|
||||
|
||||
virtual nsresult operator()( const nsIID&, void** ) const;
|
||||
virtual ~nsGetInterface() {};
|
||||
|
||||
private:
|
||||
nsCOMPtr<nsISupports> mSource;
|
||||
|
@ -56,7 +56,6 @@ class NS_COM nsGetServiceByCID : public nsCOMPtr_helper
|
||||
}
|
||||
|
||||
virtual nsresult operator()( const nsIID&, void** ) const;
|
||||
virtual ~nsGetServiceByCID() {};
|
||||
|
||||
private:
|
||||
const nsCID& mCID;
|
||||
@ -91,8 +90,6 @@ class NS_COM nsGetServiceByContractID : public nsCOMPtr_helper
|
||||
|
||||
virtual nsresult operator()( const nsIID&, void** ) const;
|
||||
|
||||
virtual ~nsGetServiceByContractID() {};
|
||||
|
||||
private:
|
||||
const char* mContractID;
|
||||
nsCOMPtr<nsIServiceManager> mServiceManager;
|
||||
@ -128,7 +125,6 @@ class nsGetServiceFromCategory : public nsCOMPtr_helper
|
||||
}
|
||||
|
||||
virtual nsresult operator()( const nsIID&, void** ) const;
|
||||
virtual ~nsGetServiceFromCategory() {};
|
||||
protected:
|
||||
const char* mCategory;
|
||||
const char* mEntry;
|
||||
|
@ -38,10 +38,11 @@ class NS_COM nsSupportsWeakReference : public nsISupportsWeakReference
|
||||
// nothing else to do here
|
||||
}
|
||||
|
||||
inline virtual ~nsSupportsWeakReference();
|
||||
|
||||
NS_DECL_NSISUPPORTSWEAKREFERENCE
|
||||
|
||||
protected:
|
||||
inline ~nsSupportsWeakReference();
|
||||
|
||||
private:
|
||||
friend class nsWeakReference;
|
||||
|
||||
|
@ -483,6 +483,9 @@ class nsAppDirectoryEnumerator : public nsISimpleEnumerator
|
||||
return *result ? NS_OK : NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
// Virtual destructor since subclass nsPathsDirectoryEnumerator
|
||||
// does not re-implement Release()
|
||||
|
||||
virtual ~nsAppDirectoryEnumerator()
|
||||
{
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user