Ejemplo n.º 1
0
 public Type CompileUserCodeToType(CompilationTargetFx targetFx, Func <string, string> assemblyLocationResolver)
 {
     using (MessagesReaderExtensions extensions = new MessagesReaderExtensions(null, fmtInfo.Value.ExtensionsInitData))
     {
         var fieldsProcessor = MessagesReader.CreateNewFieldsProcessor(this.fmtInfo.Value, extensions, tempFilesManager);
         var type            = fieldsProcessor.CompileUserCodeToType(targetFx, assemblyLocationResolver);
         return(type);
     }
 }
Ejemplo n.º 2
0
 internal static IFieldsProcessor CreateNewFieldsProcessor(FormatInfo fmtInfo, MessagesReaderExtensions extensions, ITempFilesManager tempFilesManager)
 {
     return(new FieldsProcessor(
                fmtInfo.FieldsProcessorParams,
                fmtInfo.HeadRe.Regex.GetGroupNames().Skip(1).Concat(
                    fmtInfo.BodyRe.Regex != null ? fmtInfo.BodyRe.Regex.GetGroupNames().Skip(1) : Enumerable.Repeat("body", 1)),
                extensions.Items.Select(ext => new FieldsProcessor.ExtensionInfo(ext.Name, ext.AssemblyName, ext.ClassName, ext.Instance)),
                tempFilesManager
                ));
 }