tools/json_schema_compiler/features_cc_generator.py
def Generate(self):
    """Generates a Code object for features.
    """
    c = Code()
    (c.Append(cpp_util.CHROMIUM_LICENSE)
      .Append()
      .Append(cpp_util.GENERATED_FEATURE_MESSAGE %
              cpp_util.ToPosixPath(self._source_file))
      .Append()
      .Append('#include <string>')
      .Append()
      .Append('#include "%s.h"' %
              cpp_util.ToPosixPath(self._source_file_filename))
      .Append()
      .Append('#include "base/notreached.h"')
      .Append()
      .Concat(cpp_util.OpenNamespace(self._namespace))
      .Append()
    )

    # Generate the constructor.
    (c.Append('%s::%s() {' % (self._class_name, self._class_name))
      .Sblock()
    )
    for feature in self._feature_defs:
      c.Append('features_["%s"] = %s;'
                       % (feature.name,
                          cpp_util.FeatureNameToConstantName(feature.name)))
    (c.Eblock()
      .Append('}')
      .Append()
    )

    # Generate the ToString function.
    (c.Append('const char* %s::ToString('
                  '%s::ID id) const {' % (self._class_name, self._class_name))
      .Sblock()
      .Append('switch (id) {')
      .Sblock()
    )
    for feature in self._feature_defs:
      c.Append('case %s: return "%s";' %
          (cpp_util.FeatureNameToConstantName(feature.name), feature.name))
    (c.Append('case kUnknown: break;')
      .Append('case kEnumBoundary: break;')
      .Eblock()
      .Append('}')
      .Append('NOTREACHED();')
      .Append('return "";')
    )
    (c.Eblock()
      .Append('}')
      .Append()
    )

    # Generate the FromString function.

    (c.Append('%s::ID %s::FromString('
                  'const std::string& id) const {'
                  % (self._class_name, self._class_name))
      .Sblock()
      .Append('const auto& it = features_.find(id);' % self._class_name)
      .Append('return (it == features_.end()) ? kUnknown : it->second;')
      .Eblock()
      .Append('}')
      .Append()
      .Cblock(cpp_util.CloseNamespace(self._namespace))
    )

    return c
Generates a Code object for features.
    
Generates a Code object for features.
Generates a Code object for features .
def Generate(self):
    c = Code()
    (c.Append(cpp_util.CHROMIUM_LICENSE)
      .Append()
      .Append(cpp_util.GENERATED_FEATURE_MESSAGE %
              cpp_util.ToPosixPath(self._source_file))
      .Append()
      .Append('#include <string>')
      .Append()
      .Append('#include "%s.h"' %
              cpp_util.ToPosixPath(self._source_file_filename))
      .Append()
      .Append('#include "base/notreached.h"')
      .Append()
      .Concat(cpp_util.OpenNamespace(self._namespace))
      .Append()
    )
    (c.Append('%s::%s() {' % (self._class_name, self._class_name))
      .Sblock()
    )
    for feature in self._feature_defs:
      c.Append('features_["%s"] = %s;'
                       % (feature.name,
                          cpp_util.FeatureNameToConstantName(feature.name)))
    (c.Eblock()
      .Append('}')
      .Append()
    )
    (c.Append('const char* %s::ToString('
                  '%s::ID id) const {' % (self._class_name, self._class_name))
      .Sblock()
      .Append('switch (id) {')
      .Sblock()
    )
    for feature in self._feature_defs:
      c.Append('case %s: return "%s";' %
          (cpp_util.FeatureNameToConstantName(feature.name), feature.name))
    (c.Append('case kUnknown: break;')
      .Append('case kEnumBoundary: break;')
      .Eblock()
      .Append('}')
      .Append('NOTREACHED();')
      .Append('return "";')
    )
    (c.Eblock()
      .Append('}')
      .Append()
    )
    (c.Append('%s::ID %s::FromString('
                  'const std::string& id) const {'
                  % (self._class_name, self._class_name))
      .Sblock()
      .Append('const auto& it = features_.find(id);' % self._class_name)
      .Append('return (it == features_.end()) ? kUnknown : it->second;')
      .Eblock()
      .Append('}')
      .Append()
      .Cblock(cpp_util.CloseNamespace(self._namespace))
    )
    return c
def Generate ( self ) : c = Code ( ) ( c . Append ( cpp_util . CHROMIUM_LICENSE ) . Append ( ) . Append ( cpp_util . GENERATED_FEATURE_MESSAGE % cpp_util . ToPosixPath ( self . _source_file ) ) . Append ( ) . Append ( '#include <string>' ) . Append ( ) . Append ( '#include "%s.h"' % cpp_util . ToPosixPath ( self . _source_file_filename ) ) . Append ( ) . Append ( '#include "base/notreached.h"' ) . Append ( ) . Concat ( cpp_util . OpenNamespace ( self . _namespace ) ) . Append ( ) ) ( c . Append ( '%s::%s() {' % ( self . _class_name , self . _class_name ) ) . Sblock ( ) ) for feature in self . _feature_defs : c . Append ( 'features_["%s"] = %s;' % ( feature . name , cpp_util . FeatureNameToConstantName ( feature . name ) ) ) ( c . Eblock ( ) . Append ( '}' ) . Append ( ) ) ( c . Append ( 'const char* %s::ToString(' '%s::ID id) const {' % ( self . _class_name , self . _class_name ) ) . Sblock ( ) . Append ( 'switch (id) {' ) . Sblock ( ) ) for feature in self . _feature_defs : c . Append ( 'case %s: return "%s";' % ( cpp_util . FeatureNameToConstantName ( feature . name ) , feature . name ) ) ( c . Append ( 'case kUnknown: break;' ) . Append ( 'case kEnumBoundary: break;' ) . Eblock ( ) . Append ( '}' ) . Append ( 'NOTREACHED();' ) . Append ( 'return "";' ) ) ( c . Eblock ( ) . Append ( '}' ) . Append ( ) ) ( c . Append ( '%s::ID %s::FromString(' 'const std::string& id) const {' % ( self . _class_name , self . _class_name ) ) . Sblock ( ) . Append ( 'const auto& it = features_.find(id);' % self . _class_name ) . Append ( 'return (it == features_.end()) ? kUnknown : it->second;' ) . Eblock ( ) . Append ( '}' ) . Append ( ) . Cblock ( cpp_util . CloseNamespace ( self . _namespace ) ) ) return c
Generates a Code object for features.
Generates a Code object for features .
"""Generates a Code object for features.
    """ # Generate the constructor. # Generate the ToString function. # Generate the FromString function.
self