Skip to content
  • Nathan Froyd's avatar
    Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat · 01583602
    Nathan Froyd authored
    The bulk of this commit was generated with a script, executed at the top
    level of a typical source code checkout.  The only non-machine-generated
    part was modifying MFBT's moz.build to reflect the new naming.
    
    CLOSED TREE makes big refactorings like this a piece of cake.
    
     # The main substitution.
    find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
        xargs perl -p -i -e '
     s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
     s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
    '
    
     # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
    perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h
    
     # Handle nsRefPtr.h itself, a couple places that define constructors
     # from nsRefPtr, and code generators specially.  We do this here, rather
     # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
     # things like nsRefPtrHashtable.
    perl -p -i -e 's/nsRefPtr/RefPtr/g' \
         mfbt/nsRefPtr.h \
         xpcom/glue/nsCOMPtr.h \
         xpcom/base/OwningNonNull.h \
         ipc/ipdl/ipdl/lower.py \
         ipc/ipdl/ipdl/builtin.py \
         dom/bindings/Codegen.py \
         python/lldbutils/lldbutils/utils.py
    
     # In our indiscriminate substitution above, we renamed
     # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
    find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
        xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'
    
    if [ -d .git ]; then
        git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
    else
        hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
    fi
    
    --HG--
    rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
    01583602