| Index: build/android/gyp/java_cpp_enum.py
|
| diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enum.py
|
| index 6a1d5c1e4c39fa54a1c1b2550356a162c2dcb173..002aed500ad420b73cd184751585c819491ebbf4 100755
|
| --- a/build/android/gyp/java_cpp_enum.py
|
| +++ b/build/android/gyp/java_cpp_enum.py
|
| @@ -61,16 +61,24 @@ class EnumDefinition(object):
|
| prefix_to_strip = ''
|
| else:
|
| prefix_to_strip = self.prefix_to_strip
|
| - entries = ((k.replace(prefix_to_strip, '', 1), v) for (k, v) in
|
| - self.entries.iteritems())
|
| - self.entries = collections.OrderedDict(entries)
|
| +
|
| + entries = collections.OrderedDict()
|
| + for (k, v) in self.entries.iteritems():
|
| + stripped_key = k.replace(prefix_to_strip, '', 1)
|
| + if isinstance(v, basestring):
|
| + stripped_value = v.replace(prefix_to_strip, '', 1)
|
| + else:
|
| + stripped_value = v
|
| + entries[stripped_key] = stripped_value
|
| +
|
| + self.entries = entries
|
|
|
| class HeaderParser(object):
|
| single_line_comment_re = re.compile(r'\s*//')
|
| multi_line_comment_start_re = re.compile(r'\s*/\*')
|
| enum_start_re = re.compile(r'^\s*enum\s+(\w+)\s+{\s*$')
|
| enum_line_re = re.compile(r'^\s*(\w+)(\s*\=\s*([^,\n]+))?,?')
|
| - enum_end_re = re.compile(r'^\s*}\s*;\s*$')
|
| + enum_end_re = re.compile(r'^\s*}\s*;\.*$')
|
| generator_directive_re = re.compile(
|
| r'^\s*//\s+GENERATED_JAVA_(\w+)\s*:\s*([\.\w]+)$')
|
|
|
| @@ -109,6 +117,9 @@ class HeaderParser(object):
|
| enum_value = enum_entry.groups()[2]
|
| self._current_definition.AppendEntry(enum_key, enum_value)
|
|
|
| + def _GetCurrentEnumClassNameOverride(self):
|
| + return self._generator_directives.get('CLASS_NAME_OVERRIDE')
|
| +
|
| def _GetCurrentEnumPackageName(self):
|
| return self._generator_directives.get('ENUM_PACKAGE')
|
|
|
| @@ -128,7 +139,8 @@ class HeaderParser(object):
|
| if not self._GetCurrentEnumPackageName():
|
| return
|
| self._current_definition = EnumDefinition()
|
| - self._current_definition.class_name = enum_start.groups()[0]
|
| + self._current_definition.class_name = (
|
| + self._GetCurrentEnumClassNameOverride() or enum_start.groups()[0])
|
| self._in_enum = True
|
| elif generator_directive:
|
| directive_name = generator_directive.groups()[0]
|
|
|