- Roslyn Cookbook
- Manish Vasani
- 192字
- 2021-07-15 17:07:34
Creating a compilation analyzer to analyze whole compilation and report issues
A stateful compilation analyzer registers action callbacks that require compilation-wide analysis of symbols and/or syntax to report issues about declarations or executable code in the compilation. These analyzers generally need to initialize some mutable state at the start of the analysis, which is updated while analyzing the compilation, and the final state is used to report diagnostics.
In this section, we will create an analyzer that performs compilation-wide analysis and reports. Diagnostic secure types must not implement interfaces with insecure methods for the following scenarios:
- Assume we have an interface, say MyNamespace.ISecureType, which is a well-known secure interface, i.e. it is a marker for all secure types in an assembly.
- Assume we have a method attribute, say MyNamespace.InsecureMethodAttribute, which marks the method on which the attribute is applied as insecure. An interface which has any member with such an attribute, must be considered insecure.
- We want to report diagnostics for types implementing the well-known secure interface that also implements any insecure interfaces.
Analyzer performs compilation-wide analysis to detect such violating types and reports diagnostics for them in the compilation end action.
推薦閱讀
- Python入門很簡單
- 數據結構簡明教程(第2版)微課版
- 小程序,巧運營:微信小程序運營招式大全
- Kotlin從基礎到實戰
- Raspberry Pi Home Automation with Arduino(Second Edition)
- Odoo 10 Implementation Cookbook
- ScratchJr趣味編程動手玩:讓孩子用編程講故事
- 愛上C語言:C KISS
- 現代C:概念剖析和編程實踐
- Learning Concurrency in Python
- 金融商業數據分析:基于Python和SAS
- Spring Boot學習指南:構建云原生Java和Kotlin應用程序
- HTML5 Game Development by Example:Beginner's Guide(Second Edition)
- Learning Apache Thrift
- SAP HANA Starter