Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CLI/src/CLI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -257,15 +257,15 @@ private Dictionary<string, IReport> RegisterAnalyzers(AnalyzerProvider analyzerP
if (_configuration.ExecToStep >= ExecutionStep.CrossCheck)
{
//All purpose CFG/DFA
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(_configuration.CfgBuildingMode));
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(_configuration.CfgBuildingMode, o));

//CFG/DFA for ZCALL report
if (!string.IsNullOrEmpty(_configuration.ReportZCallFilePath))
{
if (_configuration.CfgBuildingMode != CfgBuildingMode.WithDfa)
{
//Need to create a dedicated CFG builder with DFA activated
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(CfgBuildingMode.WithDfa));
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(CfgBuildingMode.WithDfa, o));
}

string zCallCfgDfaId = CfgDfaAnalyzerFactory.GetIdForMode(CfgBuildingMode.WithDfa);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
--- Diagnostics ---
Line 6[12,23] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM main', recursive instruction is ' PERFORM main'.
Line 6[12,23] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM main', recursive instruction is ' PERFORM main'.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
--- Diagnostics ---
Line 16[15,29] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec'.
Line 16[15,29] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec'.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
--- Diagnostics ---
Line 27[15,29] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec2'.
Line 27[15,29] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec2'.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
--- Diagnostics ---
Line 28[15,29] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec2'.
Line 28[15,29] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec2'.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
--- Diagnostics ---
Line 31[15,29] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec2'.
Line 57[15,64] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec4', recursive instruction is ' perform pararec4 varying n from 1 by 1 until n > 5'.
Line 57[15,64] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec4', recursive instruction is ' perform pararec3 test after varying n from 1 by 1 until n'.
Line 31[15,29] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec2'.
Line 57[15,64] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec4', recursive instruction is ' perform pararec4 varying n from 1 by 1 until n > 5'.
Line 57[15,64] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec4', recursive instruction is ' perform pararec3 test after varying n from 1 by 1 until n'.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
--- Diagnostics ---
Line 16[15,64] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec varying n from 1 by 1 until n > 5'.
Line 16[15,64] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec varying n from 1 by 1 until n > 5'.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
--- Diagnostics ---
Line 16[15,72] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec test after varying n from 1 by 1 until n>5'.
Line 16[15,72] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec test after varying n from 1 by 1 until n>5'.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
--- Diagnostics ---
Line 16[15,72] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec test after varying n from 1 by 1 until n>5'.
Line 16[15,72] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec test after varying n from 1 by 1 until n>5'.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
--- Diagnostics ---
Line 16[15,64] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec varying n from 1 by 1 until n > 5'.
Line 16[15,64] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM pararec', recursive instruction is ' perform pararec varying n from 1 by 1 until n > 5'.
6 changes: 3 additions & 3 deletions TypeCobol.Analysis.Test/BasicCfgInstrs/PerformThru2.diag
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
--- Diagnostics ---
Line 6[12,27] <30, Error, Semantics> - Semantic error: PERFORM 'B' THRU 'A': 'A' is declared before 'B'.
Line 9[12,29] <30, Error, Semantics> - Semantic error: PERFORM 'S2' THRU 'S1': 'S1' is declared before 'S2'.
Line 11[12,28] <30, Error, Semantics> - Semantic error: PERFORM 'S1' THRU 'A': 'A' is declared before 'S1'.
Line 6[12,27] <37, Warning, General> - Warning: PERFORM 'B' THRU 'A': 'A' is declared before 'B'.
Line 9[12,29] <37, Warning, General> - Warning: PERFORM 'S2' THRU 'S1': 'S1' is declared before 'S2'.
Line 11[12,28] <37, Warning, General> - Warning: PERFORM 'S1' THRU 'A': 'A' is declared before 'S1'.
8 changes: 4 additions & 4 deletions TypeCobol.Analysis.Test/BasicCfgInstrs/SG102A.diag
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ Line 242[13,46] <37, Warning, General> - Warning: "end-if" is missing
Line 250[12,37] <37, Warning, General> - Warning: "end-if" is missing
Line 266[12,43] <37, Warning, General> - Warning: "end-if" is missing
Line 267[12,42] <37, Warning, General> - Warning: "end-if" is missing
Line 269[41,66] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM WRITE-LINE', recursive instruction is ' PERFORM WRT-LN'.
Line 269[41,66] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM WRITE-LINE', recursive instruction is ' PERFORM WRT-LN 2 TIMES'.
Line 269[41,66] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM WRITE-LINE', recursive instruction is ' PERFORM WRT-LN'.
Line 269[41,66] <30, Error, Semantics> - Semantic error: A recursive loop has been encountered while analyzing 'PERFORM WRITE-LINE', recursive instruction is ' PERFORM WRT-LN'.
Line 269[41,66] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM WRITE-LINE', recursive instruction is ' PERFORM WRT-LN'.
Line 269[41,66] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM WRITE-LINE', recursive instruction is ' PERFORM WRT-LN 2 TIMES'.
Line 269[41,66] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM WRITE-LINE', recursive instruction is ' PERFORM WRT-LN'.
Line 269[41,66] <37, Warning, General> - Warning: A recursive loop has been encountered while analyzing 'PERFORM WRITE-LINE', recursive instruction is ' PERFORM WRT-LN'.
Line 276[12,43] <37, Warning, General> - Warning: "end-if" is missing
Line 277[12,38] <37, Warning, General> - Warning: "end-if" is missing
Line 293[12,16] <37, Warning, General> - Warning: ALTER should not be used
Expand Down
2 changes: 1 addition & 1 deletion TypeCobol.Analysis.Test/CfgTestUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ static CfgTestUtils()
void AddAnalyzerProvider(CfgBuildingMode mode)
{
var analyzerProvider = new AnalyzerProvider();
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(mode));
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(mode, o));
_AnalyzerProviders.Add(mode, analyzerProvider);
}
}
Expand Down
2 changes: 1 addition & 1 deletion TypeCobol.Analysis.Test/PerformanceWithCfg.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ protected override IAnalyzerProvider CreateAnalyzerProvider()
//Add analyzers
var analyzerProvider = new AnalyzerProvider();
//CFG/DFA
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(CfgBuildingMode.Standard));
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(CfgBuildingMode.Standard, o));
return analyzerProvider;
}

Expand Down
2 changes: 1 addition & 1 deletion TypeCobol.Analysis.Test/PerformanceWithCfgDfa.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ protected override IAnalyzerProvider CreateAnalyzerProvider()
//Add analyzers
var analyzerProvider = new AnalyzerProvider();
//CFG/DFA
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(CfgBuildingMode.WithDfa));
analyzerProvider.AddActivator((o, t) => CfgDfaAnalyzerFactory.CreateCfgAnalyzer(CfgBuildingMode.WithDfa, o));
return analyzerProvider;
}

Expand Down
Loading