| Index: mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| diff --git a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| index 87e39ecbbb027cf0822846b6cd9229b46a15e558..38d222b136995a93b668e607594989d1f2771b41 100644
|
| --- a/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| +++ b/mojo/public/tools/bindings/generators/mojom_cpp_generator.py
|
| @@ -153,10 +153,19 @@ def GetNameForKind(kind, internal=False, flatten_nested_kind=False,
|
| internal=internal, flatten_nested_kind=flatten_nested_kind,
|
| add_same_module_namespaces=add_same_module_namespaces)
|
|
|
| -def GetQualifiedNameForKind(kind, internal=False, flatten_nested_kind=False):
|
| - return _NameFormatter(kind, _variant).FormatForCpp(
|
| - internal=internal, add_same_module_namespaces=True,
|
| - flatten_nested_kind=flatten_nested_kind)
|
| +def GetQualifiedNameForKind(kind, internal=False, flatten_nested_kind=False,
|
| + include_variant=True):
|
| + return _NameFormatter(
|
| + kind, _variant if include_variant else None).FormatForCpp(
|
| + internal=internal, add_same_module_namespaces=True,
|
| + flatten_nested_kind=flatten_nested_kind)
|
| +
|
| +
|
| +def GetWtfHashFnNameForEnum(enum):
|
| + return _NameFormatter(
|
| + enum, None).Format("_", internal=True, add_same_module_namespaces=True,
|
| + flatten_nested_kind=True) + "HashFn"
|
| +
|
|
|
| def GetFullMojomNameForKind(kind):
|
| return _NameFormatter(kind, _variant).FormatForMojom()
|
| @@ -211,6 +220,18 @@ def IsHashableKind(kind):
|
| return Check(kind)
|
|
|
|
|
| +def AllEnumValues(enum):
|
| + """Return all enum values associated with an enum.
|
| +
|
| + Args:
|
| + enum: {mojom.Enum} The enum type.
|
| +
|
| + Returns:
|
| + {Set[int]} The values.
|
| + """
|
| + return set(field.numeric_value for field in enum.fields)
|
| +
|
| +
|
| def GetNativeTypeName(typemapped_kind):
|
| return _current_typemap[GetFullMojomNameForKind(typemapped_kind)]["typename"]
|
|
|
| @@ -584,6 +605,7 @@ def GetNewContainerValidateParams(kind):
|
| class Generator(generator.Generator):
|
|
|
| cpp_filters = {
|
| + "all_enum_values": AllEnumValues,
|
| "constant_value": ConstantValue,
|
| "contains_handles_or_interfaces": mojom.ContainsHandlesOrInterfaces,
|
| "contains_move_only_members": ContainsMoveOnlyMembers,
|
| @@ -630,6 +652,7 @@ class Generator(generator.Generator):
|
| "stylize_method": generator.StudlyCapsToCamel,
|
| "under_to_camel": generator.UnderToCamel,
|
| "unmapped_type_for_serializer": GetUnmappedTypeForSerializer,
|
| + "wtf_hash_fn_name_for_enum": GetWtfHashFnNameForEnum,
|
| }
|
|
|
| def GetExtraTraitsHeaders(self):
|
|
|