def UnionFieldFromMojom(self, mojom_field): """Translates a mojom_types_mojom.UnionField to a module.UnionField. Args: mojom_field: {mojom_types_mojom.UnionField} to be translated. Returns: {module.UnionField} translated from mojom_field. """ union_field = module.UnionField() self.PopulateCommonFieldValues(union_field, mojom_field) union_field.ordinal = self.OrdinalFromMojom(mojom_field) return union_field
def _UnionField(module, parsed_field, union): """ Args: module: {mojom.Module} Module currently being constructed. parsed_field: {ast.UnionField} Parsed union field. union: {mojom.Union} Union this fields belong to. Returns: {mojom.UnionField} AST union. """ field = mojom.UnionField() field.mojom_name = parsed_field.mojom_name field.kind = _Kind(module.kinds, _MapKind(parsed_field.typename), (module.mojom_namespace, union.mojom_name)) field.ordinal = parsed_field.ordinal.value if parsed_field.ordinal else None field.default = _FixupExpression( module, None, (module.mojom_namespace, union.mojom_name), field.kind) field.attributes = _AttributeListToDict(parsed_field.attribute_list) return field
def UnionFieldFromMojom(self, mojom_field): """Translates a fidl_types_fidl.UnionField to a module.UnionField. Args: mojom_field: {fidl_types_fidl.UnionField} to be translated. Returns: {module.UnionField} translated from mojom_field. """ union_field = module.UnionField() self.PopulateCommonFieldValues(union_field, mojom_field) # The |ordinal| attribute of |union_field| contains the field's tag # as computed by the Mojom front-end. union_field.ordinal = mojom_field.tag # The |declared_tag| field is populated only if the user explicitly # specified a tag for the field in the .mojom file and as such is not # defined for every field. If defined it is equal to the |ordinal| # attribute. Currently no code generators are consuming this data. union_field.declared_tag = self.OrdinalFromMojom(mojom_field) # The declaration_order field preserves the index of the field in # declaration order in the .mojom file. union_field.declaration_order = mojom_field.decl_data.declaration_order return union_field
def UnionFieldFromData(module, data, union): field = mojom.UnionField() PopulateField(field, module, data, union) return field