docs(xml): fill missing XML doc comments + strip task-tracking refs across src (fixdocs)
Add missing <summary>/<param>/<returns>/<typeparam> tags and switch interface implementations to <inheritdoc/> across 106 files; strip project bookkeeping identifiers (Task NN, #05-TNN, PLAN-04, StoreAndForward-0NN) from shipped code comments while preserving the descriptive rationale. Comment-only: zero code-logic lines changed; solution builds 0/0. Claude-Session: https://claude.ai/code/session_01MtdgwpEeCUn6cUA5f1LMPj
This commit is contained in:
@@ -909,8 +909,8 @@ public class FlatteningService
|
||||
/// Recursively resolves the scripts of a composed module and every module
|
||||
/// nested inside it, path-qualifying each canonical name with the
|
||||
/// accumulated <paramref name="prefix"/>. <paramref name="parentPath"/> is
|
||||
/// the path of the enclosing module — empty for a depth-1 composition
|
||||
/// (parent is the root template) and the enclosing module's
|
||||
/// the path of the enclosing module — empty for a top-level composition
|
||||
/// (nesting depth 1; parent is the root template) and the enclosing module's
|
||||
/// <c>prefix</c> for deeper nesting — and is carried into each script's
|
||||
/// <see cref="ScriptScope"/> so a nested script's <c>Parent.X</c>
|
||||
/// resolves against its real parent module.
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace ZB.MOM.WW.ScadaBridge.TemplateEngine.Flattening;
|
||||
/// Collections are explicitly sorted by <c>CanonicalName</c> before hashing.
|
||||
/// </para>
|
||||
/// <para>
|
||||
/// MIGRATION (TemplateEngine-011): native alarm source bindings
|
||||
/// Native alarm source bindings
|
||||
/// (<see cref="ResolvedNativeAlarmSource"/>) now participate in the hash so
|
||||
/// that binding edits flag the instance stale. The hashable property is
|
||||
/// populated NULL-WHEN-EMPTY and the serializer omits null properties
|
||||
|
||||
@@ -1232,6 +1232,7 @@ public class TemplateService
|
||||
/// <param name="templateId">The template whose member set changed.</param>
|
||||
/// <param name="user">Username for the audit row.</param>
|
||||
/// <param name="cancellationToken">Cancellation token.</param>
|
||||
/// <returns>A task that represents the asynchronous operation.</returns>
|
||||
public async Task ReconcileDescendantsAsync(
|
||||
int templateId,
|
||||
string user,
|
||||
@@ -1562,8 +1563,12 @@ public class TemplateService
|
||||
public int Added;
|
||||
public int Updated;
|
||||
public int Removed;
|
||||
|
||||
/// <summary>True when any row was added, updated, or removed.</summary>
|
||||
public bool Any => Added > 0 || Updated > 0 || Removed > 0;
|
||||
|
||||
/// <summary>Accumulates another tally's counts into this one.</summary>
|
||||
/// <param name="other">The counts to add.</param>
|
||||
public void Add(ReconcileCounts other)
|
||||
{
|
||||
Added += other.Added;
|
||||
|
||||
@@ -45,6 +45,9 @@ public static class ScriptCompileVerdictCache
|
||||
/// <see cref="Hits"/>. The verdict's error text must be name-free — the caller
|
||||
/// formats the script name in on return.
|
||||
/// </summary>
|
||||
/// <param name="code">The script source code to look up (hashed to form the cache key).</param>
|
||||
/// <param name="factory">Computes the verdict on a cache miss.</param>
|
||||
/// <returns>The cached or newly computed compile verdict.</returns>
|
||||
public static (bool Ok, string? Error) GetOrAdd(string code, Func<(bool Ok, string? Error)> factory)
|
||||
{
|
||||
var key = Convert.ToHexString(SHA256.HashData(Encoding.UTF8.GetBytes(code)));
|
||||
|
||||
@@ -43,7 +43,7 @@ public class ScriptCompiler
|
||||
{
|
||||
// Authoritative forbidden-API verdict first — a security violation must
|
||||
// gate the script regardless of whether it otherwise compiles. Report
|
||||
// ALL violations (#05-T24), not just the first, so an operator fixing
|
||||
// ALL violations, not just the first, so an operator fixing
|
||||
// one forbidden API isn't surprised by a second on the next attempt.
|
||||
var violations = ScriptTrustValidator.FindViolations(code);
|
||||
if (violations.Count > 0)
|
||||
|
||||
@@ -119,7 +119,7 @@ public class SemanticValidator
|
||||
}
|
||||
else
|
||||
{
|
||||
// #05-T24: if the target resolved ONLY via the composed
|
||||
// If the target resolved ONLY via the composed
|
||||
// leaf-name fallback (not a same-scope sibling), the child
|
||||
// path is dynamic and cannot be statically verified — surface
|
||||
// an advisory warning instead of accepting it silently.
|
||||
|
||||
Reference in New Issue
Block a user