Exemplo n.º 1
0
        public static string Serialize(Nitra.Language language, IEnumerable <GrammarDescriptor> dynamicExtensions, LibReference[] libs, Func <string, string> pathConverter)
        {
            var writer = new StringWriter();
            var data   = new Language
            {
                Name = language.FullName,
                Path = pathConverter(language.GetType().Assembly.Location),
                DynamicExtensions = dynamicExtensions.Select(g => new DynamicExtension {
                    Name = g.FullName, Path = pathConverter(g.GetType().Assembly.Location)
                }).ToArray(),
                Libs = libs.Select(x => x.Serialize()).ToArray()
            };

            _serializer.Serialize(writer, data);
            return(writer.ToString());
        }