Skip to content

Commit 0efd487

Browse files
committed
Add copilot review suggestions
1 parent 822c6af commit 0efd487

1 file changed

Lines changed: 38 additions & 4 deletions

File tree

Engine/ScriptAnalyzer.cs

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1447,10 +1447,24 @@ public IEnumerable<DiagnosticRecord> AnalyzeAndFixPath(string path, Func<string,
14471447
/// </summary>
14481448
/// <param name="scriptDefinition">The script to be analyzed.</param>
14491449
/// <param name="scriptAst">Parsed AST of <paramref name="scriptDefinition"/>.</param>
1450-
/// <param name="scriptTokens">Parsed tokens of <paramref name="scriptDefinition"/.></param>
1450+
/// <param name="scriptTokens">Parsed tokens of <paramref name="scriptDefinition"/>.</param>
14511451
/// <param name="skipVariableAnalysis">Whether variable analysis can be skipped (applicable if rules do not use variable analysis APIs).</param>
14521452
/// <returns></returns>
1453-
public List<DiagnosticRecord> AnalyzeScriptDefinition(string scriptDefinition, out ScriptBlockAst scriptAst, out Token[] scriptTokens, bool skipVariableAnalysis = false, bool emitSuppressionErrors = true)
1453+
public List<DiagnosticRecord> AnalyzeScriptDefinition(string scriptDefinition, out ScriptBlockAst scriptAst, out Token[] scriptTokens, bool skipVariableAnalysis = false)
1454+
{
1455+
return AnalyzeScriptDefinition(scriptDefinition, out scriptAst, out scriptTokens, skipVariableAnalysis, emitSuppressionErrors: true);
1456+
}
1457+
1458+
/// <summary>
1459+
/// Analyzes a script definition in the form of a string input.
1460+
/// </summary>
1461+
/// <param name="scriptDefinition">The script to be analysed.</param>
1462+
/// <param name="scriptAst">Parsed AST of <paramref name="scriptDefinition"/>.</param>
1463+
/// <param name="scriptTokens">Parsed tokens of <paramref name="scriptDefinition"/>.</param>
1464+
/// <param name="skipVariableAnalysis">Whether variable analysis can be skipped (applicable if rules do not use variable analysis APIs).</param>
1465+
/// <param name="emitSuppressionErrors">Whether to emit errors for unapplied rule suppression IDs.</param>
1466+
/// <returns>A list of diagnostics found by rules.</returns>
1467+
public List<DiagnosticRecord> AnalyzeScriptDefinition(string scriptDefinition, out ScriptBlockAst scriptAst, out Token[] scriptTokens, bool skipVariableAnalysis, bool emitSuppressionErrors)
14541468
{
14551469
scriptAst = null;
14561470
scriptTokens = null;
@@ -2043,8 +2057,28 @@ public IEnumerable<DiagnosticRecord> AnalyzeSyntaxTree(
20432057
ScriptBlockAst scriptAst,
20442058
Token[] scriptTokens,
20452059
string filePath,
2046-
bool skipVariableAnalysis = false,
2047-
bool emitSuppressionErrors = true)
2060+
bool skipVariableAnalysis = false)
2061+
{
2062+
return AnalyzeSyntaxTree(scriptAst, scriptTokens, filePath, skipVariableAnalysis, emitSuppressionErrors: true);
2063+
}
2064+
2065+
/// <summary>
2066+
/// Analyzes the syntax tree of a script file that has already been parsed.
2067+
/// </summary>
2068+
/// <param name="scriptAst">The ScriptBlockAst from the parsed script.</param>
2069+
/// <param name="scriptTokens">The tokens found in the script.</param>
2070+
/// <param name="filePath">The path to the file that was parsed.
2071+
/// If AnalyzeSyntaxTree is called from an AST obtained via ParseInput, this field will be String.Empty.
2072+
/// </param>
2073+
/// <param name="skipVariableAnalysis">Whether to skip variable analysis.</param>
2074+
/// <param name="emitSuppressionErrors">Whether to emit errors for unapplied rule suppression IDs.</param>
2075+
/// <returns>An enumeration of DiagnosticRecords found by rules.</returns>
2076+
public IEnumerable<DiagnosticRecord> AnalyzeSyntaxTree(
2077+
ScriptBlockAst scriptAst,
2078+
Token[] scriptTokens,
2079+
string filePath,
2080+
bool skipVariableAnalysis,
2081+
bool emitSuppressionErrors)
20482082
{
20492083
Dictionary<string, List<RuleSuppression>> ruleSuppressions = new Dictionary<string,List<RuleSuppression>>();
20502084
ConcurrentBag<DiagnosticRecord> diagnostics = new ConcurrentBag<DiagnosticRecord>();

0 commit comments

Comments
 (0)