OLD | NEW |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 import os.path | 3 import os.path |
4 import re | 4 import re |
5 import subprocess | 5 import subprocess |
6 import sys | 6 import sys |
7 | 7 |
8 from in_file import InFile | 8 from in_file import InFile |
9 from name_utilities import upper_first_letter | 9 from name_utilities import upper_first_letter |
10 import in_generator | 10 import in_generator |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
105 'mode': None, | 105 'mode': None, |
106 } | 106 } |
107 | 107 |
108 def __init__(self, file_paths): | 108 def __init__(self, file_paths): |
109 in_generator.Writer.__init__(self, file_paths) | 109 in_generator.Writer.__init__(self, file_paths) |
110 self._outputs = {(self.class_name + ".h"): self.generate_header, | 110 self._outputs = {(self.class_name + ".h"): self.generate_header, |
111 (self.class_name + ".cpp"): self.generate_implementatio n, | 111 (self.class_name + ".cpp"): self.generate_implementatio n, |
112 } | 112 } |
113 | 113 |
114 self._value_keywords = self.in_file.name_dictionaries | 114 self._value_keywords = self.in_file.name_dictionaries |
115 first_property_id = 1 | 115 # We start with 2 to avoid CSSPropertyVariable |
116 first_property_id = 2 | |
Timothy Loh
2015/09/30 02:09:27
This shouldn't need to change?
| |
116 for offset, property in enumerate(self._value_keywords): | 117 for offset, property in enumerate(self._value_keywords): |
117 property['lower_name'] = property['name'].lower() | 118 property['lower_name'] = property['name'].lower() |
118 property['enum_name'] = self._enum_name_from_value_keyword(property[ 'name']) | 119 property['enum_name'] = self._enum_name_from_value_keyword(property[ 'name']) |
119 property['enum_value'] = first_property_id + offset | 120 property['enum_value'] = first_property_id + offset |
120 if property['name'].startswith('-internal-'): | 121 if property['name'].startswith('-internal-'): |
121 assert property['mode'] is None, 'Can\'t specify mode for value keywords with the prefix "-internal-".' | 122 assert property['mode'] is None, 'Can\'t specify mode for value keywords with the prefix "-internal-".' |
122 property['mode'] = 'UASheet' | 123 property['mode'] = 'UASheet' |
123 else: | 124 else: |
124 assert property['mode'] != 'UASheet', 'UASheet mode only value k eywords should have the prefix "-internal-".' | 125 assert property['mode'] != 'UASheet', 'UASheet mode only value k eywords should have the prefix "-internal-".' |
125 | 126 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
164 # FIXME: If we could depend on Python 2.7, we would use subprocess.check _output | 165 # FIXME: If we could depend on Python 2.7, we would use subprocess.check _output |
165 gperf_args = [self.gperf_path, '--key-positions=*', '-P', '-n'] | 166 gperf_args = [self.gperf_path, '--key-positions=*', '-P', '-n'] |
166 gperf_args.extend(['-m', '50']) # Pick best of 50 attempts. | 167 gperf_args.extend(['-m', '50']) # Pick best of 50 attempts. |
167 gperf_args.append('-D') # Allow duplicate hashes -> More compact code. | 168 gperf_args.append('-D') # Allow duplicate hashes -> More compact code. |
168 gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subpr ocess.PIPE, universal_newlines=True) | 169 gperf = subprocess.Popen(gperf_args, stdin=subprocess.PIPE, stdout=subpr ocess.PIPE, universal_newlines=True) |
169 return gperf.communicate(gperf_input)[0] | 170 return gperf.communicate(gperf_input)[0] |
170 | 171 |
171 | 172 |
172 if __name__ == "__main__": | 173 if __name__ == "__main__": |
173 in_generator.Maker(CSSValueKeywordsWriter).main(sys.argv) | 174 in_generator.Maker(CSSValueKeywordsWriter).main(sys.argv) |
OLD | NEW |