Exemple #1
0
 public FIBaseRewriter(SemanticModel model, AnalyzerMessageCallback messageCallback, string filePath)
 {
     m_Model           = model;
     m_MessageCallback = messageCallback;
     m_FilePath        = filePath;
 }
Exemple #2
0
    public override SyntaxNode ModifyDocument(SyntaxTree ast, SemanticModel model, ISymbolResolver symbolResolver, AnalyzerMessageCallback messageCallback, out bool modified)
    {
        try
        {
            var baseRewriter = new FIBaseRewriter(model, messageCallback, ast.FilePath);
            var newRoot      = baseRewriter.Visit(ast.GetRoot());
            modified = baseRewriter.wasModified;

            //if (modified)
            //    messageCallback(AnalyzerMessageType.Info, "FI_Providers analyzer codegen output:\n" + newRoot, ast.FilePath, 0, 0);

            return(newRoot);
        }
        catch (Exception e)
        {
            messageCallback(
                AnalyzerMessageType.Error,
                string.Format("Error in FI_Providers analyzer:\n{0}\n{1}", e.Message, e.StackTrace),
                ast.FilePath, 0, 0);
        }

        modified = false;
        return(ast.GetRoot());
    }