示例#1
0
 public void Initialize(GeneratorInitializationContext context)
 {
     try
     {
         config = new CodeRewriterConfig()
         {
             Logger = Log
         };
         rewriter = new CodeRewriter(config, new TemplateExtractor());
         context.RegisterForSyntaxNotifications(() => new RoslynWeaveSyntaxReceiver());
     }
     catch (Exception ex)
     {
         //context.ReportDiagnostic(Diagnostic.Create((new DiagnosticDescriptor(id: "ROSLYNWEAVEINIT",
         //                            title: "Unexpected error while wrapping AOP code",
         //                            messageFormat: "Error during execution '{0}': '{1}'.",
         //                            category: "RoslynWeave CodeGenerator",
         //                            DiagnosticSeverity.Warning,
         //                            isEnabledByDefault: true)
         //                        ), Location.None, typeof(Intercepter).FullName, ex.ToString()));
         //Seems no where to report so:
         File.AppendAllLines($"error.txt", new[] { "Error initializing code generator", ex.ToString() });
     }
 }
示例#2
0
 public CodeRewriter(CodeRewriterConfig config, TemplateExtractor extractor)
 {
     _config   = config;
     _logger   = new RoslynWeaveLogger(_config.Logger);
     Templates = extractor;
 }