blob: bd07ff1958f4f97b6d39b8477270a1cb49c8045a [file] [log] [blame]
#!/usr/bin/env python
# Copyright 2016 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.
import sys
import in_generator
import trie_builder
import template_expander
class UnitTrieWriter(in_generator.Writer):
defaults = {
'unit_type': None
}
def __init__(self, in_file_paths):
super(UnitTrieWriter, self).__init__(in_file_paths)
self._units = {entry['name']: entry['unit_type'] for entry in self.in_file.name_dictionaries}
self._outputs = {
'CSSPrimitiveValueUnitTrie.cpp': self.generate_implementation
}
@template_expander.use_jinja('CSSPrimitiveValueUnitTrie.cpp.tmpl')
def generate_implementation(self):
return {
'length_tries': trie_builder.trie_list_by_str_length(self._units)
}
if __name__ == '__main__':
in_generator.Maker(UnitTrieWriter).main(sys.argv)