| Index: mojo/public/bindings/pylib/generate/mojom_generator.py
|
| diff --git a/mojo/public/bindings/pylib/generate/mojom_generator.py b/mojo/public/bindings/pylib/generate/mojom_generator.py
|
| deleted file mode 100644
|
| index 131c2484336919959985aecf38354d8b52ca09b5..0000000000000000000000000000000000000000
|
| --- a/mojo/public/bindings/pylib/generate/mojom_generator.py
|
| +++ /dev/null
|
| @@ -1,99 +0,0 @@
|
| -# Copyright 2013 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.
|
| -
|
| -"""Code shared by the various language-specific code generators."""
|
| -
|
| -import os
|
| -import mojom
|
| -import mojom_pack
|
| -import re
|
| -from functools import partial
|
| -
|
| -def GetStructFromMethod(interface, method):
|
| - """Converts a method's parameters into the fields of a struct."""
|
| - params_class = "%s_%s_Params" % (interface.name, method.name)
|
| - struct = mojom.Struct(params_class)
|
| - for param in method.parameters:
|
| - struct.AddField(param.name, param.kind, param.ordinal)
|
| - struct.packed = mojom_pack.PackedStruct(struct)
|
| - return struct
|
| -
|
| -def GetResponseStructFromMethod(interface, method):
|
| - """Converts a method's response_parameters into the fields of a struct."""
|
| - params_class = "%s_%s_ResponseParams" % (interface.name, method.name)
|
| - struct = mojom.Struct(params_class)
|
| - for param in method.response_parameters:
|
| - struct.AddField(param.name, param.kind, param.ordinal)
|
| - struct.packed = mojom_pack.PackedStruct(struct)
|
| - return struct
|
| -
|
| -def GetStructInfo(exported, struct):
|
| - struct.packed = mojom_pack.PackedStruct(struct)
|
| - struct.bytes = mojom_pack.GetByteLayout(struct.packed)
|
| - struct.exported = exported
|
| - return struct
|
| -
|
| -def IsStringKind(kind):
|
| - return kind.spec == 's'
|
| -
|
| -def IsEnumKind(kind):
|
| - return isinstance(kind, mojom.Enum)
|
| -
|
| -def IsObjectKind(kind):
|
| - return isinstance(kind, (mojom.Struct, mojom.Array)) or IsStringKind(kind)
|
| -
|
| -def IsHandleKind(kind):
|
| - return kind.spec.startswith('h') or isinstance(kind, mojom.Interface)
|
| -
|
| -def StudlyCapsToCamel(studly):
|
| - return studly[0].lower() + studly[1:]
|
| -
|
| -def VerifyTokenType(token, expected):
|
| - """Used to check that arrays and objects are used correctly as default
|
| - values. Arrays are tokens that look like ('ARRAY', element0, element1...).
|
| - See mojom_parser.py for their representation.
|
| - """
|
| - if not isinstance(token, tuple):
|
| - raise Exception("Expected token type '%s'. Invalid token '%s'." %
|
| - (expected, token))
|
| - if token[0] != expected:
|
| - raise Exception("Expected token type '%s'. Got '%s'." %
|
| - (expected, token[0]))
|
| -
|
| -def ExpressionMapper(expression, mapper):
|
| - if isinstance(expression, tuple) and expression[0] == 'EXPRESSION':
|
| - result = []
|
| - for each in expression[1]:
|
| - result.extend(ExpressionMapper(each, mapper))
|
| - return result
|
| - return [mapper(expression)]
|
| -
|
| -class Generator(object):
|
| - # Pass |output_dir| to emit files to disk. Omit |output_dir| to echo all
|
| - # files to stdout.
|
| - def __init__(self, module, output_dir=None):
|
| - self.module = module
|
| - self.output_dir = output_dir
|
| -
|
| - def GetStructsFromMethods(self):
|
| - result = []
|
| - for interface in self.module.interfaces:
|
| - for method in interface.methods:
|
| - result.append(GetStructFromMethod(interface, method))
|
| - if method.response_parameters != None:
|
| - result.append(GetResponseStructFromMethod(interface, method))
|
| - return map(partial(GetStructInfo, False), result)
|
| -
|
| - def GetStructs(self):
|
| - return map(partial(GetStructInfo, True), self.module.structs)
|
| -
|
| - def Write(self, contents, filename):
|
| - if self.output_dir is None:
|
| - print contents
|
| - return
|
| - with open(os.path.join(self.output_dir, filename), "w+") as f:
|
| - f.write(contents)
|
| -
|
| - def GenerateFiles(self):
|
| - raise NotImplementedError("Subclasses must override/implement this method")
|
|
|