]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - create_regex_tables
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / create_regex_tables
index 7544b75cd9c1df43c77b3e59cbc9c34b1818dea4..c6fd6eb7f3e3485a3c823cdb01cb221083247e73 100644 (file)
@@ -86,15 +86,15 @@ for name, classes in types.items():
     
     # Generate createFunction:
     function = "";
-    function += ("CharacterClass* %sCreate()\n" % name)
+    function += ("std::unique_ptr<CharacterClass> %sCreate()\n" % name)
     function += ("{\n")
     if emitTables and classes["UseTable"]:
         if "Inverse" in classes:
-            function += ("    CharacterClass* characterClass = new CharacterClass(_%sData, true);\n" % (classes["Inverse"]))
+            function += ("    auto characterClass = std::make_unique<CharacterClass>(_%sData, true);\n" % (classes["Inverse"]))
         else:
-            function += ("    CharacterClass* characterClass = new CharacterClass(_%sData, false);\n" % (name))
+            function += ("    auto characterClass = std::make_unique<CharacterClass>(_%sData, false);\n" % (name))
     else:
-        function += ("    CharacterClass* characterClass = new CharacterClass;\n")
+        function += ("    auto characterClass = std::make_unique<CharacterClass>();\n")
     for (min, max) in ranges:
         if (min == max):
             if (min > 127):
@@ -106,7 +106,7 @@ for name, classes in types.items():
             function += ("    characterClass->m_rangesUnicode.append(CharacterRange(0x%04x, 0x%04x));\n" % (min, max))
         else:
             function += ("    characterClass->m_ranges.append(CharacterRange(0x%02x, 0x%02x));\n" % (min, max))
-    function += ("    return characterClass;\n")
+    function += ("    return WTF::move(characterClass);\n")
     function += ("}\n\n")
     functions += function