| Index: mojo/public/tools/bindings/generators/mojom_dart_generator.py
|
| diff --git a/mojo/public/tools/bindings/generators/mojom_dart_generator.py b/mojo/public/tools/bindings/generators/mojom_dart_generator.py
|
| index 1ff635867b8695d23b1a817ba70664a3afd4e4d3..2bcd65123aa9a2005ef717366a73de741a7f0f9f 100644
|
| --- a/mojo/public/tools/bindings/generators/mojom_dart_generator.py
|
| +++ b/mojo/public/tools/bindings/generators/mojom_dart_generator.py
|
| @@ -123,30 +123,6 @@ _kind_to_dart_decl_type = {
|
| mojom.NULLABLE_STRING: "String"
|
| }
|
|
|
| -_kind_to_mojom_type = {
|
| - mojom.BOOL: "bool",
|
| - mojom.INT8: "int8",
|
| - mojom.UINT8: "uint8",
|
| - mojom.INT16: "int16",
|
| - mojom.UINT16: "uint16",
|
| - mojom.INT32: "int32",
|
| - mojom.UINT32: "uint32",
|
| - mojom.FLOAT: "float",
|
| - mojom.HANDLE: "unspecified",
|
| - mojom.DCPIPE: "dataPipeConsumer",
|
| - mojom.DPPIPE: "dataPipeProducer",
|
| - mojom.MSGPIPE: "messagePipe",
|
| - mojom.SHAREDBUFFER: "sharedBuffer",
|
| - mojom.NULLABLE_HANDLE: "unspecified",
|
| - mojom.NULLABLE_DCPIPE: "dataPipeConsumer",
|
| - mojom.NULLABLE_DPPIPE: "dataPipeProducer",
|
| - mojom.NULLABLE_MSGPIPE: "messagePipe",
|
| - mojom.NULLABLE_SHAREDBUFFER: "sharedBuffer",
|
| - mojom.INT64: "int64",
|
| - mojom.UINT64: "uint64",
|
| - mojom.DOUBLE: "double"
|
| -}
|
| -
|
| _spec_to_decode_method = {
|
| mojom.BOOL.spec: 'decodeBool',
|
| mojom.DCPIPE.spec: 'decodeConsumerHandle',
|
| @@ -259,9 +235,6 @@ def DartDeclType(kind):
|
| if mojom.IsEnumKind(kind):
|
| return GetDartType(kind)
|
|
|
| -def GetSimpleMojomTypeName(kind):
|
| - return _kind_to_mojom_type[kind]
|
| -
|
| def NameToComponent(name):
|
| # insert '_' between anything and a Title name (e.g, HTTPEntry2FooBar ->
|
| # HTTP_Entry2_FooBar). Numbers terminate a string of lower-case characters.
|
| @@ -485,6 +458,27 @@ def GetImportUri(module):
|
| def RaiseHelper(msg):
|
| raise Exception(msg)
|
|
|
| +def GetSerializedRuntimeTypeInfoLiteral(module, enabled):
|
| + """ Constructs a string that represents a literal definition in Dart of
|
| + an array of bytes corresponding to |module.serialized_runtime_type_info|.
|
| +
|
| + Args:
|
| + module: {mojom.Module} the module being processed.
|
| + enabled: {bool} Is this feature enabled.
|
| +
|
| + Returns: A string of the form 'b0, b1, b2,...' where the 'bi' are
|
| + the decimal representation of the bytes of
|
| + |module.serialized_runtime_type_info| or the empty string if either
|
| + |enabled| is false or |module.serialized_runtime_type_info| is None.
|
| + Furthermore the returned string will have embedded newline characters inserted
|
| + every 1000 characters to make the generated source code more tractable.
|
| + """
|
| + if not enabled or not module.serialized_runtime_type_info:
|
| + return ''
|
| + return '%s' % ','.join('%s%d' %
|
| + ('\n' if index > 0 and index%1000 == 0 else '', b)
|
| + for index, b in enumerate(module.serialized_runtime_type_info))
|
| +
|
| class Generator(generator.Generator):
|
|
|
| dart_filters = {
|
| @@ -493,10 +487,6 @@ class Generator(generator.Generator):
|
| 'decode_method': DecodeMethod,
|
| 'default_value': DartDefaultValue,
|
| 'encode_method': EncodeMethod,
|
| - 'fullidentifier': mojom.GetMojomTypeFullIdentifier,
|
| - 'simple_mojom_type_name': GetSimpleMojomTypeName,
|
| - 'mojom_type_name': mojom.GetMojomTypeName,
|
| - 'mojom_type_identifier': mojom.GetMojomTypeIdentifier,
|
| 'is_imported_kind': IsImportedKind,
|
| 'is_array_kind': mojom.IsArrayKind,
|
| 'is_map_kind': mojom.IsMapKind,
|
| @@ -545,6 +535,9 @@ class Generator(generator.Generator):
|
| "interfaces": self.GetInterfaces(),
|
| "imported_interfaces": self.GetImportedInterfaces(),
|
| "imported_from": self.ImportedFrom(),
|
| + "serialized_runtime_type_info_literal" : (
|
| + GetSerializedRuntimeTypeInfoLiteral(self.module,
|
| + self.should_gen_mojom_types)),
|
| "typepkg": '%s.' % _mojom_types_pkg_short,
|
| "descpkg": '%s.' % _service_describer_pkg_short,
|
| "mojom_types_import": 'import \'%s\' as %s;' % \
|
|
|