c# - 使用 ANTLR 遍历 C# 项目
问题描述
我有一些 ANTLR/C# 类能够解析 T-SQL 存储过程、遍历其依赖项并识别执行所述存储过程所需的权限。
我现在需要分析几个相对较大的 C# .NET 项目来确定调用了哪些存储过程。
仅仅定位所有存储过程调用是不够的,我需要从给定的方法中工作并从中识别存储过程调用。
我们可以假设存储过程是调用 SQL 的唯一方法。
我想 ANTLR 会再次提供帮助,但我不确定一些事情
- ANTLR 是遍历方法调用链的唯一方法吗?
- 如果我使用 ANTLR,我在哪里可以找到“最好的”C# .g4 语法文件?
- 我如何从一个单元中的方法调用走到另一个单元中的声明 - 这是我目前最不确定的一点
为了简化问题,让我们假设所有存储过程调用都采用以下形式
new SqlCommand()
{
Connection = GetConnection(),
CommandText = "dbo.SomeProcName",
CommandType = CommandType.StoredProcedure
};
就我的目的而言,这几乎是真的。
我主要关心的是 3. 以上
解决方案
推荐阅读
- sql - 了解 SQL Server Int 数据类型
- magento2 - nginx config Magento 2.4 - 未加载css js
- sql - 加入对多个列出的外 ID 键表的查询?
- python - Python PIL ValueError:没有足够的图像数据
- file - 列出子文件夹中的前几个文件,并使用 VBScript 返回包含文件名和文件夹名的列表
- matlab - 斐波那契递归值跟踪器
- r - Сustomize R 在子图中绘制颜色
- c# - 如何创建预制件并指定下降率
- java - 我可以在不使用静态变量或方法的情况下在两个 JFrame 之间进行通信吗?
- python - Python - 程序未接收输入