Index: Tools/Scripts/webkitpy/formatter/fix_double_quote_strings.py |
diff --git a/Tools/Scripts/webkitpy/formatter/fix_double_quote_strings.py b/Tools/Scripts/webkitpy/formatter/fix_double_quote_strings.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..45f988d5ad9fa31468a20c412d211b8affdaa6e2 |
--- /dev/null |
+++ b/Tools/Scripts/webkitpy/formatter/fix_double_quote_strings.py |
@@ -0,0 +1,29 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+""" |
+A 2to3 fixer that converts all string literals to use double quotes. |
+ |
+Strings that contain double quotes will not be modified. Prefixed string |
+literals will also not be modified. This affects both single-quoted strings |
+and triple-single-quoted strings. |
+ |
+""" |
+ |
+from lib2to3.fixer_base import BaseFix |
+from lib2to3.pgen2 import token |
+ |
+ |
+class FixDoubleQuoteStrings(BaseFix): |
+ |
+ explicit = True |
+ _accept_type = token.STRING |
+ |
+ def match(self, node): |
+ res = node.value.startswith("'") and '"' not in node.value[1:-1] |
+ return res |
+ |
+ def transform(self, node, results): |
+ node.value = node.value.replace("'", '"') |
+ node.changed() |