gecko-dev/js/public
Ehsan Akhgari 2824b29025 Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
..
Anchor.h Bug 883697 (part 1) - Make include guards consistent in js/ductwork/, js/ipc/ and js/public/. r=njn. 2013-06-19 17:59:09 -07:00
CallArgs.h Bug 891946 - Rename ThreadSafeContext variables from tcx -> cx. (r=bhackett) 2013-07-10 18:25:42 -07:00
CharacterEncoding.h Bug 892806 - Clean up InflateUTF8String() and related functions. r=terrence. 2013-07-09 23:17:32 -07:00
Date.h Bug 883697 (part 1) - Make include guards consistent in js/ductwork/, js/ipc/ and js/public/. r=njn. 2013-06-19 17:59:09 -07:00
GCAPI.h Bug 890048 - Fix rooting of the findReferences shell command; r=jimb,billm 2013-07-24 16:32:21 -07:00
HashTable.h Bug 891177 - Remove Vector.h's js/TemplateLib.h dependency by introducing mfbt/TemplateLib.h with the necessary bits. r=terrence 2013-07-08 12:42:13 -07:00
HeapAPI.h Bug 888088 (part 0) - Some minor #include fix-ups. r=wmccloskey. 2013-07-23 17:34:12 -07:00
LegacyIntTypes.h Bug 872127 - Part 1: Remove support for MOZ_CUSTOM_STDINT_H; r=Waldo,ted 2013-07-30 10:24:49 -04:00
MemoryMetrics.h Bug 891177 - Implement mozilla/Vector.h, and make js/Vector.h implement js::Vector using mozilla::Vector's implementation of the functionality. r=terrence 2013-07-09 16:33:29 -07:00
PropertyKey.h Bug 883697 (part 1) - Make include guards consistent in js/ductwork/, js/ipc/ and js/public/. r=njn. 2013-06-19 17:59:09 -07:00
RequiredDefines.h Bug 883697 (part 1) - Make include guards consistent in js/ductwork/, js/ipc/ and js/public/. r=njn. 2013-06-19 17:59:09 -07:00
RootingAPI.h Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo 2013-07-18 13:59:53 -04:00
Utility.h Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo 2013-07-18 13:59:53 -04:00
Value.h Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo 2013-07-18 13:59:53 -04:00
Vector.h Bug 891177 - Implement mozilla/Vector.h, and make js/Vector.h implement js::Vector using mozilla::Vector's implementation of the functionality. r=terrence 2013-07-09 16:33:29 -07:00