/// <summary> /// Gets the list of compile-time constant violations. An error is logged for every occurrence of an expression that is not entirely composed of literals. /// It may return inaccurate results for malformed trees. /// </summary> /// <param name="expression">the expression to check for compile-time constant violations</param> public static IList <Diagnostic> GetCompileTimeConstantViolation(SyntaxBase expression) { var diagnostics = new List <Diagnostic>(); var visitor = new CompileTimeConstantVisitor(diagnostics); visitor.Visit(expression); return(diagnostics); }
/// <summary> /// Gets the list of compile-time constant violations. An error is logged for every occurrence of an expression that is not entirely composed of literals. /// It may return inaccurate results for malformed trees. /// </summary> /// <param name="expression">the expression to check for compile-time constant violations</param> /// <param name="diagnosticWriter">Diagnostic writer instance</param> public static void GetCompileTimeConstantViolation(SyntaxBase expression, IDiagnosticWriter diagnosticWriter) { var visitor = new CompileTimeConstantVisitor(diagnosticWriter); visitor.Visit(expression); }