| Index: build/android/gyp/java_cpp_enum_tests.py | 
| diff --git a/build/android/gyp/java_cpp_enum_tests.py b/build/android/gyp/java_cpp_enum_tests.py | 
| index 44f9766c82c98d6c6bab67764d89ee4bc6640282..70008d11c42fb0b29ed3e01f59432effdf3751cc 100755 | 
| --- a/build/android/gyp/java_cpp_enum_tests.py | 
| +++ b/build/android/gyp/java_cpp_enum_tests.py | 
| @@ -28,7 +28,7 @@ class TestPreprocess(unittest.TestCase): | 
| entries=[('E1', 1), ('E2', '2 << 2')]) | 
| output = GenerateOutput('path/to/file', definition) | 
| expected = """ | 
| -// Copyright 2014 The Chromium Authors. All rights reserved. | 
| +// Copyright 2015 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. | 
|  | 
| @@ -63,6 +63,34 @@ public class ClassName { | 
| ('VALUE_ONE', 1)]), | 
| definition.entries) | 
|  | 
| +  def testParseSimpleEnumWithComments(self): | 
| +    test_data = """ | 
| +      // GENERATED_JAVA_ENUM_PACKAGE: test.namespace | 
| +      enum EnumName { | 
| +        // zero | 
| +        VALUE_ZERO, | 
| + | 
| +        VALUE_ONE, | 
| + | 
| +        // two | 
| +        // too | 
| +        VALUE_TWO, | 
| +      }; | 
| +    """.split('\n') | 
| +    definitions = HeaderParser(test_data).ParseDefinitions() | 
| +    self.assertEqual(1, len(definitions)) | 
| +    definition = definitions[0] | 
| +    self.assertEqual('EnumName', definition.class_name) | 
| +    self.assertEqual('test.namespace', definition.enum_package) | 
| +    self.assertEqual(collections.OrderedDict([('VALUE_ZERO', 0), | 
| +                                              ('VALUE_ONE', 1), | 
| +                                              ('VALUE_TWO', 2)]), | 
| +                     definition.entries) | 
| +    self.assertEqual(collections.OrderedDict([('VALUE_ZERO', [' zero']), | 
| +                                              ('VALUE_ONE', []), | 
| +                                              ('VALUE_TWO', [' two',' too'])]), | 
| +                     definition.comments) | 
| + | 
| def testParseBitShifts(self): | 
| test_data = """ | 
| // GENERATED_JAVA_ENUM_PACKAGE: test.namespace | 
| @@ -310,20 +338,24 @@ public class ClassName { | 
|  | 
| def testEnumValueAssignmentNoneDefined(self): | 
| definition = EnumDefinition(original_enum_name='c', enum_package='p') | 
| -    definition.AppendEntry('A', None) | 
| -    definition.AppendEntry('B', None) | 
| -    definition.AppendEntry('C', None) | 
| +    definition.AppendEntry('A', None, [' foo']) | 
| +    definition.AppendEntry('B', None, []) | 
| +    definition.AppendEntry('C', None, [' bar', ' goo']) | 
| definition.Finalize() | 
| self.assertEqual(collections.OrderedDict([('A', 0), | 
| ('B', 1), | 
| ('C', 2)]), | 
| definition.entries) | 
| +    self.assertEqual(collections.OrderedDict([('A', [' foo']), | 
| +                                              ('B', []), | 
| +                                              ('C', [' bar', ' goo'])]), | 
| +                     definition.comments) | 
|  | 
| def testEnumValueAssignmentAllDefined(self): | 
| definition = EnumDefinition(original_enum_name='c', enum_package='p') | 
| -    definition.AppendEntry('A', '1') | 
| -    definition.AppendEntry('B', '2') | 
| -    definition.AppendEntry('C', '3') | 
| +    definition.AppendEntry('A', '1', []) | 
| +    definition.AppendEntry('B', '2', []) | 
| +    definition.AppendEntry('C', '3', []) | 
| definition.Finalize() | 
| self.assertEqual(collections.OrderedDict([('A', '1'), | 
| ('B', '2'), | 
| @@ -332,10 +364,10 @@ public class ClassName { | 
|  | 
| def testEnumValueAssignmentReferences(self): | 
| definition = EnumDefinition(original_enum_name='c', enum_package='p') | 
| -    definition.AppendEntry('A', None) | 
| -    definition.AppendEntry('B', 'A') | 
| -    definition.AppendEntry('C', None) | 
| -    definition.AppendEntry('D', 'C') | 
| +    definition.AppendEntry('A', None, []) | 
| +    definition.AppendEntry('B', 'A', []) | 
| +    definition.AppendEntry('C', None, []) | 
| +    definition.AppendEntry('D', 'C', []) | 
| definition.Finalize() | 
| self.assertEqual(collections.OrderedDict([('A', 0), | 
| ('B', 0), | 
| @@ -345,9 +377,9 @@ public class ClassName { | 
|  | 
| def testEnumValueAssignmentSet(self): | 
| definition = EnumDefinition(original_enum_name='c', enum_package='p') | 
| -    definition.AppendEntry('A', None) | 
| -    definition.AppendEntry('B', '2') | 
| -    definition.AppendEntry('C', None) | 
| +    definition.AppendEntry('A', None, []) | 
| +    definition.AppendEntry('B', '2', []) | 
| +    definition.AppendEntry('C', None, []) | 
| definition.Finalize() | 
| self.assertEqual(collections.OrderedDict([('A', 0), | 
| ('B', 2), | 
| @@ -356,10 +388,10 @@ public class ClassName { | 
|  | 
| def testEnumValueAssignmentSetReferences(self): | 
| definition = EnumDefinition(original_enum_name='c', enum_package='p') | 
| -    definition.AppendEntry('A', None) | 
| -    definition.AppendEntry('B', 'A') | 
| -    definition.AppendEntry('C', 'B') | 
| -    definition.AppendEntry('D', None) | 
| +    definition.AppendEntry('A', None, []) | 
| +    definition.AppendEntry('B', 'A', []) | 
| +    definition.AppendEntry('C', 'B', []) | 
| +    definition.AppendEntry('D', None, []) | 
| definition.Finalize() | 
| self.assertEqual(collections.OrderedDict([('A', 0), | 
| ('B', 0), | 
| @@ -369,18 +401,18 @@ public class ClassName { | 
|  | 
| def testEnumValueAssignmentRaises(self): | 
| definition = EnumDefinition(original_enum_name='c', enum_package='p') | 
| -    definition.AppendEntry('A', None) | 
| -    definition.AppendEntry('B', 'foo') | 
| -    definition.AppendEntry('C', None) | 
| +    definition.AppendEntry('A', None, []) | 
| +    definition.AppendEntry('B', 'foo', []) | 
| +    definition.AppendEntry('C', None, []) | 
| with self.assertRaises(Exception): | 
| definition.Finalize() | 
|  | 
| def testExplicitPrefixStripping(self): | 
| definition = EnumDefinition(original_enum_name='c', enum_package='p') | 
| -    definition.AppendEntry('P_A', None) | 
| -    definition.AppendEntry('B', None) | 
| -    definition.AppendEntry('P_C', None) | 
| -    definition.AppendEntry('P_LAST', 'P_C') | 
| +    definition.AppendEntry('P_A', None, []) | 
| +    definition.AppendEntry('B', None, []) | 
| +    definition.AppendEntry('P_C', None, []) | 
| +    definition.AppendEntry('P_LAST', 'P_C', []) | 
| definition.prefix_to_strip = 'P_' | 
| definition.Finalize() | 
| self.assertEqual(collections.OrderedDict([('A', 0), | 
| @@ -392,10 +424,10 @@ public class ClassName { | 
| def testImplicitPrefixStripping(self): | 
| definition = EnumDefinition(original_enum_name='ClassName', | 
| enum_package='p') | 
| -    definition.AppendEntry('CLASS_NAME_A', None) | 
| -    definition.AppendEntry('CLASS_NAME_B', None) | 
| -    definition.AppendEntry('CLASS_NAME_C', None) | 
| -    definition.AppendEntry('CLASS_NAME_LAST', 'CLASS_NAME_C') | 
| +    definition.AppendEntry('CLASS_NAME_A', None, []) | 
| +    definition.AppendEntry('CLASS_NAME_B', None, []) | 
| +    definition.AppendEntry('CLASS_NAME_C', None, []) | 
| +    definition.AppendEntry('CLASS_NAME_LAST', 'CLASS_NAME_C', []) | 
| definition.Finalize() | 
| self.assertEqual(collections.OrderedDict([('A', 0), | 
| ('B', 1), | 
| @@ -406,9 +438,9 @@ public class ClassName { | 
| def testImplicitPrefixStrippingRequiresAllConstantsToBePrefixed(self): | 
| definition = EnumDefinition(original_enum_name='Name', | 
| enum_package='p') | 
| -    definition.AppendEntry('A', None) | 
| -    definition.AppendEntry('B', None) | 
| -    definition.AppendEntry('NAME_LAST', None) | 
| +    definition.AppendEntry('A', None, []) | 
| +    definition.AppendEntry('B', None, []) | 
| +    definition.AppendEntry('NAME_LAST', None, []) | 
| definition.Finalize() | 
| self.assertEqual(['A', 'B', 'NAME_LAST'], definition.entries.keys()) | 
|  | 
|  |