SourceScanner¶
- 种类:
static class - 命名空间:
Runestone.AesirModules.ScriptDocGenerator.Editor - 程序集:
Runestone.AesirModules.Editor.OdinInspector
继承链: System.Object → SourceScanner
声明¶
单遍字符级状态机源码扫描器: 第一遍净化——字符串(普通/逐字)、字符字面量、行注释、块注释内容置空,产出净化行, 使后续正则天然免疫字符串/注释里的假类型声明、假命名空间与假花括号; 第二遍扫描——命名空间栈(块式/文件级)+ 类型栈(花括号深度配对)单次前向扫描, 将 /// 文档注释块关联到其后的声明行,产出结构化 ParsedSourceDoc。
方法¶
声明的方法
| 名称 | 描述 |
|---|---|
Scan(string[], bool) |
单遍扫描源码行数组,返回结构化文档注释结果。 parseDocs 为 false 时跳过 /// 文档块的收集与解析(仅收集类型/命名空间声明,供项目级索引用)。 |
ParseSummaryTextFromLines(List<string>) |
从文档注释行列表(已移除 /// 前缀)中提取 summary 纯文本。 |
StripXmlTags(string) |
清理 XML 标签:cref/paramref/typeparamref/langword 替换为名称, 保留内容, |
继承的方法
| 名称 | 描述 | 声明类型 |
|---|---|---|
GetType() |
— | object |
Equals(object) |
— | object |
GetHashCode() |
— | object |
ToString() |
— | object |
MemberwiseClone() |
— | object |
Finalize() |
— | object |
Scan(string[], bool)¶
单遍扫描源码行数组,返回结构化文档注释结果。 parseDocs 为 false 时跳过 /// 文档块的收集与解析(仅收集类型/命名空间声明,供项目级索引用)。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
lines |
string[] |
— |
parseDocs |
bool |
— |
返回值
| 类型 | 说明 |
|---|---|
ParsedSourceDoc |
— |
ParseSummaryTextFromLines(List)¶
从文档注释行列表(已移除 /// 前缀)中提取 summary 纯文本。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
summaryLines |
List<string> |
— |
返回值
| 类型 | 说明 |
|---|---|
string |
— |
StripXmlTags(string)¶
清理 XML 标签:cref/paramref/typeparamref/langword 替换为名称, 保留内容,
参数
| 名称 | 类型 | 说明 |
|---|---|---|
text |
string |
— |
返回值
| 类型 | 说明 |
|---|---|
string |
— |
Additional Notes¶
首个
## Additional Notes是增量生成文档标识符,请勿修改标题级别和内容!本文档由Script Doc Generator辅助生成。