// translateDescriptor translates from a mojom.MojomDescriptor (the pure Go // representation used by the parser) to a mojom_files.MojomFileGraph (the // Mojo Go representation used for serialization.) func translateDescriptor(d *mojom.MojomDescriptor) *mojom_files.MojomFileGraph { fileGraph := mojom_files.MojomFileGraph{} // Add |files| field. fileGraph.Files = make(map[string]mojom_files.MojomFile) for name, file := range d.MojomFilesByName { fileGraph.Files[name] = translateMojomFile(file) } // Add |resolved_types| field. fileGraph.ResolvedTypes = make(map[string]mojom_types.UserDefinedType) for key, userDefinedType := range d.TypesByKey { fileGraph.ResolvedTypes[key] = translateUserDefinedType(userDefinedType) } // Add |resolved_values| field. fileGraph.ResolvedValues = make(map[string]mojom_types.UserDefinedValue) for key, userDefinedValue := range d.ValuesByKey { fileGraph.ResolvedValues[key] = translateUserDefinedValue(userDefinedValue) } return &fileGraph }