- Roslyn Cookbook
- Manish Vasani
- 193字
- 2021-07-15 17:07:31
Creating a syntax node analyzer to report issues about language syntax
A syntax node analyzer registers action callbacks to analyze one or more kinds of syntax nodes, such as operators, identifiers, expressions, declarations, and so on, and reports semantic issues about syntax. These analyzers generally need to fetch semantic information about different syntax nodes being analyzed and use the compiler semantic model APIs to get this information.
In this section, we will create a syntax analyzer that analyzes VariableDeclarationSyntax nodes for local declarations and reports a diagnostic recommending use of the explicit type instead of an implicitly typed declaration, that is, variables defined with the keyword var, such as var i = new X();. Analyzer will not report diagnostics if there is a compiler syntax error (implicitly typed declarations cannot define more than one variable), or the right side of the assignment has an error type or special System type such as int, char, string, and so on. For example, the analyzer will not flag locals local1, local2, and local3 here, but will flag local4.
int local1 = 0;
Class1 local2 = new Class1();
var local3 = 0;
var local4 = new Class1();
- ClickHouse性能之巔:從架構設計解讀性能之謎
- JavaScript從入門到精通(微視頻精編版)
- Modular Programming with Python
- Learning Apex Programming
- 區塊鏈:以太坊DApp開發實戰
- Hadoop+Spark大數據分析實戰
- Easy Web Development with WaveMaker
- C語言程序設計
- Julia高性能科學計算(第2版)
- Node Cookbook(Second Edition)
- 貫通Tomcat開發
- 遠方:兩位持續創業者的點滴思考
- 大數據時代的企業升級之道(全3冊)
- OpenCV 3.0 Computer Vision with Java
- JavaScript Concurrency