Bug 1281626 - part 2 - make RunnableMethod* internals final classes; r=khuey
authorNathan Froyd <froydnj@gmail.com>
Tue, 28 Jun 2016 22:24:54 -0400
changeset 382169 5e317ff236ec5074411a14a7859c0624c90101ba
parent 382168 14345389a69aa48c7352e44b587d7c11a3095396
child 382170 aba3ae25c8ffda82ed8cf75846b93d51de27ec14
push id21645
push userbmo:gasolin@mozilla.com
push dateWed, 29 Jun 2016 04:02:20 +0000
reviewerskhuey
bugs1281626
milestone50.0a1
Bug 1281626 - part 2 - make RunnableMethod* internals final classes; r=khuey This step is mostly tidiness.
xpcom/glue/nsThreadUtils.h
--- a/xpcom/glue/nsThreadUtils.h
+++ b/xpcom/glue/nsThreadUtils.h
@@ -705,17 +705,17 @@ struct ParameterStorage
 } /* namespace detail */
 
 namespace mozilla {
 
 namespace detail {
 
 // struct used to store arguments and later apply them to a method.
 template <typename... Ts>
-struct RunnableMethodArguments
+struct RunnableMethodArguments final
 {
   Tuple<typename ::detail::ParameterStorage<Ts>::Type...> mArguments;
   template <typename... As>
   explicit RunnableMethodArguments(As&&... aArguments)
     : mArguments(Forward<As>(aArguments)...)
   {}
   template<typename C, typename M, typename... Args, size_t... Indices>
   static auto
@@ -729,17 +729,17 @@ struct RunnableMethodArguments
                   typename IndexSequenceFor<Ts...>::Type()))
   {
     return applyImpl(o, m, mArguments,
         typename IndexSequenceFor<Ts...>::Type());
   }
 };
 
 template<typename Method, bool Owning, bool Cancelable, typename... Storages>
-class RunnableMethodImpl
+class RunnableMethodImpl final
   : public ::nsRunnableMethodTraits<Method, Owning, Cancelable>::base_type
 {
   typedef typename ::nsRunnableMethodTraits<Method, Owning, Cancelable>::class_type
       ClassType;
   ::nsRunnableMethodReceiver<ClassType, Owning> mReceiver;
   Method mMethod;
   RunnableMethodArguments<Storages...> mArgs;
 public: