csharpdeeb25a2 | 1 | namespace CascadeIDE.Models; |
| 2 | |
| 3 | /// <summary> |
| 4 | /// Зерно subgraph control-flow в PFD/SM (<c>[code_navigation_map].control_flow_grain</c>). |
| 5 | /// <see cref="Intent"/> соответствует ADR 0053 (смысл метода без микро-CFG). |
| 6 | /// </summary> |
| 7 | public static class CodeNavigationMapControlFlowGrainKind |
| 8 | { |
| 9 | public const string Intent = "intent"; |
| 10 | |
| 11 | /// <summary>Пошаговый CFG по выражениям (старое поведение).</summary> |
| 12 | public const string Detailed = "detailed"; |
| 13 | |
| 14 | /// <summary>Нормализует TOML/override; неизвестные значения → <see cref="Intent"/>.</summary> |
| 15 | public static string Normalize(string? value) |
| 16 | { |
| 17 | var v = (value ?? "").Trim(); |
| 18 | if (string.Equals(v, Detailed, StringComparison.OrdinalIgnoreCase)) |
| 19 | return Detailed; |
| 20 | return Intent; |
| 21 | } |
| 22 | |
| 23 | /// <summary>Удобство для роутинга билдера subgraph.</summary> |
| 24 | public static bool IsDetailed(string? normalized) => |
| 25 | string.Equals(normalized, Detailed, StringComparison.Ordinal); |
| 26 | |
| 27 | public static bool IsIntent(string? normalized) => |
| 28 | string.Equals(normalized, Intent, StringComparison.Ordinal); |
| 29 | } |
| 30 | |
View only · write via MCP/CIDE