Bug 1156790 - mark various nsCOMPtr_helper-esque classes as final; r=mccr8
authorNathan Froyd <froydnj@mozilla.com>
Mon, 20 Apr 2015 16:58:15 -0400
changeset 240512 dcc5991232c81661abbffa88665ce252ba74fd1b
parent 240511 c278652d58dc64a8a3b6d684a3c0aac7e84bd93b
child 240513 b8e0dc040070b88a2e89c277f3c99db18a0e0097
push id58844
push usernfroyd@mozilla.com
push dateWed, 22 Apr 2015 15:36:59 +0000
treeherdermozilla-inbound@dcc5991232c8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmccr8
bugs1156790
milestone40.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1156790 - mark various nsCOMPtr_helper-esque classes as final; r=mccr8
xpcom/base/nsQueryObject.h
xpcom/glue/nsArrayUtils.h
xpcom/glue/nsCOMPtr.h
xpcom/glue/nsComponentManagerUtils.h
xpcom/glue/nsIInterfaceRequestorUtils.h
xpcom/glue/nsIWeakReferenceUtils.h
xpcom/glue/nsServiceManagerUtils.h
--- a/xpcom/base/nsQueryObject.h
+++ b/xpcom/base/nsQueryObject.h
@@ -10,17 +10,17 @@
 #include "mozilla/Attributes.h"
 
 #include "nsCOMPtr.h"
 #include "nsRefPtr.h"
 
 /*****************************************************************************/
 
 template<class T>
-class MOZ_STACK_CLASS nsQueryObject : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsQueryObject final : public nsCOMPtr_helper
 {
 public:
   explicit nsQueryObject(T* aRawPtr)
     : mRawPtr(aRawPtr)
   {
   }
 
   virtual nsresult NS_FASTCALL operator()(const nsIID& aIID,
@@ -30,17 +30,17 @@ public:
                               : NS_ERROR_NULL_POINTER;
     return status;
   }
 private:
   T* MOZ_NON_OWNING_REF mRawPtr;
 };
 
 template<class T>
-class MOZ_STACK_CLASS nsQueryObjectWithError : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsQueryObjectWithError final : public nsCOMPtr_helper
 {
 public:
   nsQueryObjectWithError(T* aRawPtr, nsresult* aErrorPtr)
     : mRawPtr(aRawPtr), mErrorPtr(aErrorPtr)
   {
   }
 
   virtual nsresult NS_FASTCALL operator()(const nsIID& aIID,
--- a/xpcom/glue/nsArrayUtils.h
+++ b/xpcom/glue/nsArrayUtils.h
@@ -6,17 +6,17 @@
 
 #ifndef nsArrayUtils_h__
 #define nsArrayUtils_h__
 
 #include "nsCOMPtr.h"
 #include "nsIArray.h"
 
 // helper class for do_QueryElementAt
-class MOZ_STACK_CLASS nsQueryArrayElementAt : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsQueryArrayElementAt final : public nsCOMPtr_helper
 {
 public:
   nsQueryArrayElementAt(nsIArray* aArray, uint32_t aIndex,
                         nsresult* aErrorPtr)
     : mArray(aArray)
     , mIndex(aIndex)
     , mErrorPtr(aErrorPtr)
   {
--- a/xpcom/glue/nsCOMPtr.h
+++ b/xpcom/glue/nsCOMPtr.h
@@ -164,17 +164,17 @@ public:
   nsQueryInterface(nsISupports* aRawPtr) : mRawPtr(aRawPtr) {}
 
   nsresult NS_FASTCALL operator()(const nsIID& aIID, void**) const;
 
 private:
   nsISupports* MOZ_OWNING_REF mRawPtr;
 };
 
-class nsQueryInterfaceWithError
+class nsQueryInterfaceWithError final
 {
 public:
   nsQueryInterfaceWithError(nsISupports* aRawPtr, nsresult* aError)
     : mRawPtr(aRawPtr)
     , mErrorPtr(aError)
   {
   }
 
@@ -213,58 +213,58 @@ do_QueryInterface(already_AddRefed<T>&, 
   // This signature exists solely to _stop_ you from doing the bad thing.
   // Saying |do_QueryInterface()| on a pointer that is not otherwise owned by
   // someone else is an automatic leak. See bug 8221.
 }
 
 
 ////////////////////////////////////////////////////////////////////////////
 // Using servicemanager with COMPtrs
-class nsGetServiceByCID
+class nsGetServiceByCID final
 {
 public:
   explicit nsGetServiceByCID(const nsCID& aCID) : mCID(aCID) {}
 
   nsresult NS_FASTCALL operator()(const nsIID&, void**) const;
 
 private:
   const nsCID& mCID;
 };
 
-class nsGetServiceByCIDWithError
+class nsGetServiceByCIDWithError final
 {
 public:
   nsGetServiceByCIDWithError(const nsCID& aCID, nsresult* aErrorPtr)
     : mCID(aCID)
     , mErrorPtr(aErrorPtr)
   {
   }
 
   nsresult NS_FASTCALL operator()(const nsIID&, void**) const;
 
 private:
   const nsCID& mCID;
   nsresult* mErrorPtr;
 };
 
-class nsGetServiceByContractID
+class nsGetServiceByContractID final
 {
 public:
   explicit nsGetServiceByContractID(const char* aContractID)
     : mContractID(aContractID)
   {
   }
 
   nsresult NS_FASTCALL operator()(const nsIID&, void**) const;
 
 private:
   const char* mContractID;
 };
 
-class nsGetServiceByContractIDWithError
+class nsGetServiceByContractIDWithError final
 {
 public:
   nsGetServiceByContractIDWithError(const char* aContractID, nsresult* aErrorPtr)
     : mContractID(aContractID)
     , mErrorPtr(aErrorPtr)
   {
   }
 
--- a/xpcom/glue/nsComponentManagerUtils.h
+++ b/xpcom/glue/nsComponentManagerUtils.h
@@ -21,17 +21,17 @@ nsresult CallCreateInstance(const char* 
 
 nsresult CallGetClassObject(const nsCID& aClass, const nsIID& aIID,
                             void** aResult);
 
 nsresult CallGetClassObject(const char* aContractID, const nsIID& aIID,
                             void** aResult);
 
 
-class MOZ_STACK_CLASS nsCreateInstanceByCID : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsCreateInstanceByCID final : public nsCOMPtr_helper
 {
 public:
   nsCreateInstanceByCID(const nsCID& aCID, nsISupports* aOuter,
                         nsresult* aErrorPtr)
     : mCID(aCID)
     , mOuter(aOuter)
     , mErrorPtr(aErrorPtr)
   {
@@ -41,17 +41,17 @@ public:
     override;
 
 private:
   const nsCID&    mCID;
   nsISupports* MOZ_NON_OWNING_REF mOuter;
   nsresult*       mErrorPtr;
 };
 
-class MOZ_STACK_CLASS nsCreateInstanceByContractID : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsCreateInstanceByContractID final : public nsCOMPtr_helper
 {
 public:
   nsCreateInstanceByContractID(const char* aContractID, nsISupports* aOuter,
                                nsresult* aErrorPtr)
     : mContractID(aContractID)
     , mOuter(aOuter)
     , mErrorPtr(aErrorPtr)
   {
@@ -60,17 +60,17 @@ public:
   virtual nsresult NS_FASTCALL operator()(const nsIID&, void**) const override;
 
 private:
   const char*   mContractID;
   nsISupports* MOZ_NON_OWNING_REF mOuter;
   nsresult*     mErrorPtr;
 };
 
-class MOZ_STACK_CLASS nsCreateInstanceFromFactory : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsCreateInstanceFromFactory final : public nsCOMPtr_helper
 {
 public:
   nsCreateInstanceFromFactory(nsIFactory* aFactory, nsISupports* aOuter,
                               nsresult* aErrorPtr)
     : mFactory(aFactory)
     , mOuter(aOuter)
     , mErrorPtr(aErrorPtr)
   {
@@ -119,33 +119,33 @@ do_CreateInstance(nsIFactory* aFactory, 
 inline const nsCreateInstanceFromFactory
 do_CreateInstance(nsIFactory* aFactory, nsISupports* aOuter,
                   nsresult* aError = 0)
 {
   return nsCreateInstanceFromFactory(aFactory, aOuter, aError);
 }
 
 
-class MOZ_STACK_CLASS nsGetClassObjectByCID : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsGetClassObjectByCID final : public nsCOMPtr_helper
 {
 public:
   nsGetClassObjectByCID(const nsCID& aCID, nsresult* aErrorPtr)
     : mCID(aCID)
     , mErrorPtr(aErrorPtr)
   {
   }
 
   virtual nsresult NS_FASTCALL operator()(const nsIID&, void**) const override;
 
 private:
   const nsCID&    mCID;
   nsresult*       mErrorPtr;
 };
 
-class MOZ_STACK_CLASS nsGetClassObjectByContractID : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsGetClassObjectByContractID final : public nsCOMPtr_helper
 {
 public:
   nsGetClassObjectByContractID(const char* aContractID, nsresult* aErrorPtr)
     : mContractID(aContractID)
     , mErrorPtr(aErrorPtr)
   {
   }
 
--- a/xpcom/glue/nsIInterfaceRequestorUtils.h
+++ b/xpcom/glue/nsIInterfaceRequestorUtils.h
@@ -17,17 +17,17 @@ CallGetInterface(T* aSource, Destination
 {
   NS_PRECONDITION(aSource, "null parameter");
   NS_PRECONDITION(aDestination, "null parameter");
 
   return aSource->GetInterface(NS_GET_TEMPLATE_IID(DestinationType),
                                reinterpret_cast<void**>(aDestination));
 }
 
-class MOZ_STACK_CLASS nsGetInterface : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsGetInterface final : public nsCOMPtr_helper
 {
 public:
   nsGetInterface(nsISupports* aSource, nsresult* aError)
     : mSource(aSource)
     , mErrorPtr(aError)
   {
   }
 
--- a/xpcom/glue/nsIWeakReferenceUtils.h
+++ b/xpcom/glue/nsIWeakReferenceUtils.h
@@ -25,17 +25,17 @@ CallQueryReferent(T* aSource, Destinatio
   NS_PRECONDITION(aSource, "null parameter");
   NS_PRECONDITION(aDestination, "null parameter");
 
   return aSource->QueryReferent(NS_GET_TEMPLATE_IID(DestinationType),
                                 reinterpret_cast<void**>(aDestination));
 }
 
 
-class MOZ_STACK_CLASS nsQueryReferent : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsQueryReferent final : public nsCOMPtr_helper
 {
 public:
   nsQueryReferent(nsIWeakReference* aWeakPtr, nsresult* aError)
     : mWeakPtr(aWeakPtr)
     , mErrorPtr(aError)
   {
   }
 
--- a/xpcom/glue/nsServiceManagerUtils.h
+++ b/xpcom/glue/nsServiceManagerUtils.h
@@ -29,17 +29,17 @@ do_GetService(const char* aContractID)
 }
 
 inline const nsGetServiceByContractIDWithError
 do_GetService(const char* aContractID, nsresult* aError)
 {
   return nsGetServiceByContractIDWithError(aContractID, aError);
 }
 
-class MOZ_STACK_CLASS nsGetServiceFromCategory : public nsCOMPtr_helper
+class MOZ_STACK_CLASS nsGetServiceFromCategory final : public nsCOMPtr_helper
 {
 public:
   nsGetServiceFromCategory(const char* aCategory, const char* aEntry,
                            nsresult* aErrorPtr)
     : mCategory(aCategory)
     , mEntry(aEntry)
     , mErrorPtr(aErrorPtr)
   {