CCI并不会加载它访问的程序集,而是读写它们的元数据,同时它也只会在必要时才会打开依赖的程序集。在操作CLR PE文件时,CCI可以写入任何实现了元数据模型接口(Microsoft.Cci.MetadataModel)的对象。
CCI: Metadata的API包括:
·一个元数据模型
·一个CLR PE读取器
·一个CLR PE写入器
·一个元数据辅助类(Microsoft.Cci.MetadataHelper.dll中的静态方法)
·元数据模型接口的实现类
·一个用于操作源文件的源代码模型
·一个PDB读取器
·一个PDB写入器
CCI: Code and AST项目包括:
·一个用于读取语句和表达式的代码模型
·一个可变的代码模型,可表示经过修改的代码模型,因为普通的代码模型只是提供了代码的只读视图
·一个用于提取AST节点的AST模型。“AST节点负责一些例如,绑定定义与名称,分辨重载,错误检查这样的事情。AST组件的设计目的是为了支持增量型编译,同时允许对不可变的代码模型进行高效的修订(projection)”
这个项目由微软研究院的RiSE团队支持。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/