diff --git a/CodeCompletion/DomConverter.cs b/CodeCompletion/DomConverter.cs
index d067def59..7b7a129eb 100644
--- a/CodeCompletion/DomConverter.cs
+++ b/CodeCompletion/DomConverter.cs
@@ -897,7 +897,7 @@ namespace CodeCompletion
ss = null;
}
}
- catch (Exception e)
+ catch (Exception)
{
}
diff --git a/CodeCompletion/DomSyntaxTreeVisitor.cs b/CodeCompletion/DomSyntaxTreeVisitor.cs
index 9f4c8cbb5..6a018ea60 100644
--- a/CodeCompletion/DomSyntaxTreeVisitor.cs
+++ b/CodeCompletion/DomSyntaxTreeVisitor.cs
@@ -2217,7 +2217,7 @@ namespace CodeCompletion
namespaces.AddRange(PascalABCCompiler.NetHelper.NetHelper.GetNamespaces(assm));
unit_scope.AddReferencedAssembly(assm);
}
- catch (Exception e)
+ catch (Exception)
{
}
diff --git a/CodeCompletion/ExpressionVisitor.cs b/CodeCompletion/ExpressionVisitor.cs
index 400bbaff6..239528b6f 100644
--- a/CodeCompletion/ExpressionVisitor.cs
+++ b/CodeCompletion/ExpressionVisitor.cs
@@ -86,7 +86,7 @@ namespace CodeCompletion
{
expr.visit(this);
}
- catch (Exception e)
+ catch (Exception)
{
returned_scope = null;
}
diff --git a/CodeCompletion/UnitXmlDocs.cs b/CodeCompletion/UnitXmlDocs.cs
index 5cd14d163..97aafa333 100644
--- a/CodeCompletion/UnitXmlDocs.cs
+++ b/CodeCompletion/UnitXmlDocs.cs
@@ -87,7 +87,7 @@ namespace CodeCompletion
}
}
}
- catch (Exception e)
+ catch (Exception)
{
}
diff --git a/Compiler/Compiler.csproj b/Compiler/Compiler.csproj
index ded532985..f97121b47 100644
--- a/Compiler/Compiler.csproj
+++ b/Compiler/Compiler.csproj
@@ -99,10 +99,6 @@
..\Libraries\ICSharpCode.NRefactory.dll
False
-
- False
- ..\bin\Microsoft.Dynamic.dll
-
False
..\Libraries\Microsoft.Scripting.dll
diff --git a/Compiler/DocXml.cs b/Compiler/DocXml.cs
index c21ada16c..7799e6c31 100644
--- a/Compiler/DocXml.cs
+++ b/Compiler/DocXml.cs
@@ -54,7 +54,7 @@ namespace PascalABCCompiler
xtw.WriteEndElement();
xtw.Flush();
}
- catch (Exception e)
+ catch (Exception)
{
}
diff --git a/Compiler/PCU/PCUReader.cs b/Compiler/PCU/PCUReader.cs
index 84bd1c724..cc8ec5f9e 100644
--- a/Compiler/PCU/PCUReader.cs
+++ b/Compiler/PCU/PCUReader.cs
@@ -287,7 +287,7 @@ namespace PascalABCCompiler.PCU
ChangeState(this, PCUReaderWriterState.EndReadTree, unit);
return unit;
}
- catch (Exception ex)
+ catch (Exception)
{
CloseUnit();
throw;
diff --git a/Compiler/SemanticTreeConverters/SemanticTreeConvertersController.cs b/Compiler/SemanticTreeConverters/SemanticTreeConvertersController.cs
index e5d709304..5a4f7b61b 100644
--- a/Compiler/SemanticTreeConverters/SemanticTreeConvertersController.cs
+++ b/Compiler/SemanticTreeConverters/SemanticTreeConvertersController.cs
@@ -72,7 +72,7 @@ namespace PascalABCCompiler.SemanticTreeConverters
}
}
}
- catch (Exception e)
+ catch (Exception)
{
//ErrorList.Add(new PluginLoadingError(fi.FullName, e));
}
diff --git a/Configuration/GlobalAssemblyInfo.cs b/Configuration/GlobalAssemblyInfo.cs
index dee6ada18..89bf14e30 100644
--- a/Configuration/GlobalAssemblyInfo.cs
+++ b/Configuration/GlobalAssemblyInfo.cs
@@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3";
public const string Minor = "5";
public const string Build = "0";
- public const string Revision = "2091";
+ public const string Revision = "2092";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
diff --git a/Configuration/Version.defs b/Configuration/Version.defs
index b094fd2e8..7bb25ba04 100644
--- a/Configuration/Version.defs
+++ b/Configuration/Version.defs
@@ -1,4 +1,4 @@
-%MINOR%=5
-%REVISION%=2091
%COREVERSION%=0
+%REVISION%=2092
+%MINOR%=5
%MAJOR%=3
diff --git a/ParserTools/XmlDocs.cs b/ParserTools/XmlDocs.cs
index 96afce9fd..93232dc48 100644
--- a/ParserTools/XmlDocs.cs
+++ b/ParserTools/XmlDocs.cs
@@ -203,7 +203,7 @@ namespace CodeCompletionTools
return xdoc.GetDocumentation("T:" + t.FullName, false);
}
}
- catch (Exception e)
+ catch (Exception)
{
}
diff --git a/ReleaseGenerators/PascalABCNET_version.nsh b/ReleaseGenerators/PascalABCNET_version.nsh
index ab29b017a..bb4dbadfb 100644
--- a/ReleaseGenerators/PascalABCNET_version.nsh
+++ b/ReleaseGenerators/PascalABCNET_version.nsh
@@ -1 +1 @@
-!define VERSION '3.5.0.2091'
+!define VERSION '3.5.0.2092'
diff --git a/TreeConverter/TreeConversion/CompilationErrors.cs b/TreeConverter/TreeConversion/CompilationErrors.cs
index 04d309176..c4c1269e2 100644
--- a/TreeConverter/TreeConversion/CompilationErrors.cs
+++ b/TreeConverter/TreeConversion/CompilationErrors.cs
@@ -2,6 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
//Все типы семантических ошибок компилятора.
using System;
+using System.Collections.Generic;
using PascalABCCompiler.SemanticTree;
@@ -471,9 +472,9 @@ namespace PascalABCCompiler.TreeConverter
public class SeveralFunctionsCanBeCalled : CompilationError
{
private readonly ILocation _loc;
- private readonly function_node_list _possible_functions;
+ private readonly List _possible_functions;
- public SeveralFunctionsCanBeCalled(ILocation loc, function_node_list set_of_possible_functions)
+ public SeveralFunctionsCanBeCalled(ILocation loc, List set_of_possible_functions)
{
_loc = loc;
_possible_functions = set_of_possible_functions;
@@ -487,7 +488,7 @@ namespace PascalABCCompiler.TreeConverter
}
}
- public function_node_list set_of_possible_functions
+ public List set_of_possible_functions
{
get
{
diff --git a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs
index 4cab4e66f..708b16080 100644
--- a/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs
+++ b/TreeConverter/TreeConversion/convertion_data_and_alghoritms.cs
@@ -1661,7 +1661,7 @@ namespace PascalABCCompiler.TreeConverter
}
- private function_node find_eq_return_value_method_in_list(function_node fn, function_node_list funcs)
+ private function_node find_eq_return_value_method_in_list(function_node fn, List funcs)
{
foreach (function_node f in funcs)
{
@@ -1683,7 +1683,7 @@ namespace PascalABCCompiler.TreeConverter
return null;
}
- public function_node find_eq_method_in_list(function_node fn,function_node_list funcs)
+ public function_node find_eq_method_in_list(function_node fn, List funcs)
{
foreach(function_node f in funcs)
{
@@ -1703,7 +1703,7 @@ namespace PascalABCCompiler.TreeConverter
return null;
}
- public function_node is_exist_eq_method_in_list(function_node fn, function_node_list funcs)
+ public function_node is_exist_eq_method_in_list(function_node fn, List funcs)
{
return find_eq_return_value_method_in_list(fn, funcs);
}
@@ -1728,6 +1728,62 @@ namespace PascalABCCompiler.TreeConverter
return ctn;
}
+ // Эту функцию можно написать оптимальнее - без внешнего while. Например.
+ // Запускаем алгоритм сортировки на частичном порядке. Ищем min из оставшихся и меняем его местами с текущим.
+ // Потом проходимся по частично отсортированному и из пары соседних удаляем тот, что меньше
+ private void functions_delete_greater(List set_of_possible_functions, possible_type_convertions_list_list tcll)
+ {
+ bool remove = true;
+ while (remove)
+ {
+ remove = false;
+
+ // Удаляем из всех возможных перегруженных версий функций те, которые больше какой-то. Та, которая меньше по всем параметрам, остаётся.
+ // По идее это надо делать для каждой дистанции отдельно - тогда баг #1970 уйдёт
+ var i = 0;
+ while (i < set_of_possible_functions.Count - 1)
+ {
+ var j = i + 1;
+ while (j < set_of_possible_functions.Count)
+ {
+ method_compare mc = compare_methods(set_of_possible_functions[i],
+ set_of_possible_functions[j], tcll[i], tcll[j]);
+ if (SystemLibrary.SystemLibInitializer.InSetProcedure != null)
+ {
+ if (set_of_possible_functions[j] == SystemLibrary.SystemLibInitializer.InSetProcedure.sym_info)
+ {
+ mc = method_compare.less_method;
+ }
+ else if (set_of_possible_functions[i] == SystemLibrary.SystemLibInitializer.InSetProcedure.sym_info)
+ {
+ mc = method_compare.greater_method;
+ }
+ }
+ if (mc == method_compare.greater_method)
+ {
+ tcll.remove_at(j);
+ set_of_possible_functions.RemoveAt(j);
+ remove = true;
+ }
+ else if (mc == method_compare.less_method)
+ {
+ tcll[i] = tcll[j];
+ set_of_possible_functions[i] = set_of_possible_functions[j];
+ tcll.remove_at(j);
+ set_of_possible_functions.RemoveAt(j);
+ remove = true;
+ }
+ else
+ {
+ j++;
+ }
+ }
+ i++;
+ }
+ }
+ }
+
+
//Первый параметр - выходной. Он содержит выражения с необходимыми преобразованиями типов.
public function_node select_function(expressions_list parameters, List functions, location loc, List syntax_nodes_parameters = null, bool only_from_not_extensions = false)
{
@@ -1736,7 +1792,7 @@ namespace PascalABCCompiler.TreeConverter
return AddError(new NoFunctionWithThisName(loc));
}
- var set_of_possible_functions = new function_node_list();
+ var set_of_possible_functions = new List();
bool is_alone_method_defined = (functions.Count() == 1);
function_node first_function = functions.FirstOrDefault().sym_info as function_node;
@@ -1779,13 +1835,13 @@ namespace PascalABCCompiler.TreeConverter
if (set_of_possible_functions.Count > 0)
if (set_of_possible_functions[0] is basic_function_node)
{
- set_of_possible_functions.remove(set_of_possible_functions[0]);
- set_of_possible_functions.AddElement(fn);
+ set_of_possible_functions.Remove(set_of_possible_functions[0]);
+ set_of_possible_functions.Add(fn);
}
continue;
}
- set_of_possible_functions.AddElement(fn);
+ set_of_possible_functions.Add(fn);
}
}
else
@@ -1803,7 +1859,7 @@ namespace PascalABCCompiler.TreeConverter
}
continue;
}
- set_of_possible_functions.AddElement(fn);
+ set_of_possible_functions.Add(fn);
}
}
if (parameters.Count > fn.parameters.Count)
@@ -1818,24 +1874,24 @@ namespace PascalABCCompiler.TreeConverter
continue;
}
//-DS
- set_of_possible_functions.AddElement(fn);
+ set_of_possible_functions.Add(fn);
}
}
}
//else if ((parameters.Count == 0 && fn.parameters.Count == 1) && fn.parameters[0].is_params && !set_of_possible_functions.Contains(fn))
// SSM 6.08.18 - так просто исправить не получается - видимо, сопоставление параметров работает неверно
else if ((parameters.Count == fn.parameters.Count - 1) && fn.parameters[fn.parameters.Count-1].is_params && !set_of_possible_functions.Contains(fn))
- set_of_possible_functions.AddElement(fn);
+ set_of_possible_functions.Add(fn);
else if (fn.num_of_default_parameters != 0 && parameters.Count >= fn.parameters.Count - fn.num_of_default_parameters)
{
if (!set_of_possible_functions.Contains(fn))
- set_of_possible_functions.AddElement(fn);
+ set_of_possible_functions.Add(fn);
}
else if (parameters.Count == 1 && fn is common_namespace_function_node && (fn as common_namespace_function_node).ConnectedToType != null && fn.parameters.Count == 2 && fn.parameters[1].is_params)
- set_of_possible_functions.AddElement(fn);
+ set_of_possible_functions.Add(fn);
else if (parameters.Count == 1 && fn is compiled_function_node && (fn as compiled_function_node).ConnectedToType != null && fn.parameters.Count == 2 && fn.parameters[1].is_params)
if (!set_of_possible_functions.Contains(fn))
- set_of_possible_functions.AddElement(fn);
+ set_of_possible_functions.Add(fn);
}
if (set_of_possible_functions.Count == 0 && indefinits.Count == 0)
@@ -1864,7 +1920,7 @@ namespace PascalABCCompiler.TreeConverter
is_alone_method_defined, syntax_tree_visitor.context, loc, syntax_nodes_parameters);
if (inst == null)
{
- set_of_possible_functions.remove_at(i);
+ set_of_possible_functions.RemoveAt(i);
}
else
{
@@ -1873,7 +1929,7 @@ namespace PascalABCCompiler.TreeConverter
}
catch (FailedWhileTryingToCompileLambdaBodyWithGivenParametersException exc) //lroman Отлавливаем последнее исключение, которое возникло при попытке скомпилировать тело лямбды с заданными типами параметров
{
- set_of_possible_functions.remove_at(i);
+ set_of_possible_functions.RemoveAt(i);
lastFailedWhileTryingToCompileLambdaBodyWithGivenParametersException = exc;
}
catch(Errors.Error err)
@@ -1937,7 +1993,7 @@ namespace PascalABCCompiler.TreeConverter
if (tcll[j] == null && set_of_possible_functions[j].node_kind != node_kind.indefinite)
{
tcll.remove_at(j);
- set_of_possible_functions.remove_at(j);
+ set_of_possible_functions.RemoveAt(j);
}
else
{
@@ -1954,63 +2010,15 @@ namespace PascalABCCompiler.TreeConverter
return AddError(new NoFunctionWithSameArguments(loc, is_alone_method_defined));
}
- bool remove = true;
-
- while (remove)
+ if (set_of_possible_functions.Count == 1)
{
- if (set_of_possible_functions.Count == 1)
- {
- check_single_possible_convertion(loc, tcll[0]);
- convert_function_call_expressions(set_of_possible_functions[0], parameters, tcll[0]);
- return set_of_possible_functions[0];
- }
- remove = false;
-
- // Удаляем из всех возможных перегруженных версий функций те, которые больше какой-то. Та, которая меньше по всем параметрам, остаётся.
- // По идее это надо делать для каждой дистанции отдельно - тогда баг #1970 уйдёт
- var i = 0;
- while (i < set_of_possible_functions.Count - 1)
- {
- j = i + 1;
- while (j < set_of_possible_functions.Count)
- {
- method_compare mc = compare_methods(set_of_possible_functions[i],
- set_of_possible_functions[j], tcll[i], tcll[j]);
- if (SystemLibrary.SystemLibInitializer.InSetProcedure != null)
- {
- if (set_of_possible_functions[j] == SystemLibrary.SystemLibInitializer.InSetProcedure.sym_info)
- {
- mc = method_compare.less_method;
- }
- else if (set_of_possible_functions[i] == SystemLibrary.SystemLibInitializer.InSetProcedure.sym_info)
- {
- mc = method_compare.greater_method;
- }
- }
- if (mc == method_compare.greater_method)
- {
- tcll.remove_at(j);
- set_of_possible_functions.remove_at(j);
- remove = true;
- }
- else if (mc == method_compare.less_method)
- {
- tcll[i] = tcll[j];
- set_of_possible_functions[i] = set_of_possible_functions[j];
- tcll.remove_at(j);
- set_of_possible_functions.remove_at(j);
- remove = true;
- }
- else
- {
- j++;
- }
- }
- i++;
- }
-
+ check_single_possible_convertion(loc, tcll[0]);
+ convert_function_call_expressions(set_of_possible_functions[0], parameters, tcll[0]);
+ return set_of_possible_functions[0];
}
+ functions_delete_greater(set_of_possible_functions,tcll); // SSM 06/06/19 refactoring
+
//Тупая заглушка для примитивных типов. иначе не работает +=, у нас лишком много неявных приведений
//в дальнейшем может вызвать странное поведение, это надо проверить
if (set_of_possible_functions.Count == 2 && indefinits.Count == 0)
@@ -2042,7 +2050,6 @@ namespace PascalABCCompiler.TreeConverter
return new indefinite_functions_set(indefinits);
}
- SortedDictionary> distances = new SortedDictionary>();
function_node best_function = null;
List to_remove = new List();
foreach (function_node fn in set_of_possible_functions)
@@ -2079,9 +2086,10 @@ namespace PascalABCCompiler.TreeConverter
}
}
}
+
foreach (function_node fn in to_remove)
{
- set_of_possible_functions.remove(fn);
+ set_of_possible_functions.Remove(fn);
}
// Формирование словаря списков функций с одинаковым значением расстояния
@@ -2091,6 +2099,7 @@ namespace PascalABCCompiler.TreeConverter
// Average(IEnumerable,integer->Nullable): real
// Average(IEnumerable,integer->integer): real
// Дело в том, что на этом уровне лямбда x->x имеет тип lambda_anytype->lambda_anytype. Все подходят :)
+ SortedDictionary> distances = new SortedDictionary>();
foreach (function_node fn in set_of_possible_functions)
{
int distance = 0;
@@ -2428,7 +2437,7 @@ namespace PascalABCCompiler.TreeConverter
}
- private function_node is_exist_eq_return_value_method(function_node fn, function_node_list funcs)
+ private function_node is_exist_eq_return_value_method(function_node fn, List funcs)
{
fn = find_eq_return_value_method_in_list(fn, funcs);
return fn;
diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs
index cd76df6a4..5c1441dde 100644
--- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs
+++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs
@@ -1140,7 +1140,7 @@ namespace PascalABCCompiler.TreeConverter
{
//Важная проверка. Возможно один и тот же оператор с одними и теми же типами определен в двух разных классах.
//Возможно она занимает много времени, но, наверное, от нее нельзя отказаться.
- function_node_list funcs = new function_node_list();
+ List funcs = new List();
foreach(SymbolInfo sic in sil)
{
if (sic.sym_info.general_node_type != general_node_type.function_node)
@@ -1158,7 +1158,7 @@ namespace PascalABCCompiler.TreeConverter
if (convertion_data_and_alghoritms.is_exist_eq_method_in_list(fn, funcs) == null)
{
//break;
- funcs.AddElement(fn);
+ funcs.Add(fn);
}
}
//TODO: Разобраться с зацикливанием.
@@ -1356,7 +1356,7 @@ namespace PascalABCCompiler.TreeConverter
return false;
}
- private base_function_call_list convert_functions_to_calls(expression_node obj, function_node_list fnl, location loc, bool is_static)
+ private base_function_call_list convert_functions_to_calls(expression_node obj, List fnl, location loc, bool is_static)
{
base_function_call_list ret = new base_function_call_list();
foreach (function_node fnode in fnl)
@@ -1529,7 +1529,7 @@ namespace PascalABCCompiler.TreeConverter
{
return new base_function_call_list();
}
- function_node_list fnl = new function_node_list();
+ var fnl = new List();
foreach(SymbolInfo si in sil)
{
function_node fn = si.sym_info as function_node;
@@ -1548,12 +1548,12 @@ namespace PascalABCCompiler.TreeConverter
if (fn.is_extension_method)
{
if (obj != null && (fn.parameters[0].type == obj.type || type_table.compare_types(fn.parameters[0].type, obj.type) == type_compare.greater_type))
- fnl.AddElementFirst(fn);
+ fnl.Insert(0,fn);
else
- fnl.AddElement(fn);
+ fnl.Add(fn);
}
else
- fnl.AddElement(fn);
+ fnl.Add(fn);
}
}
else
@@ -1566,8 +1566,8 @@ namespace PascalABCCompiler.TreeConverter
private base_function_call_list create_possible_delegates_list(expression_node obj, function_node func, location loc, bool is_static)
{
- function_node_list fnl = new function_node_list();
- fnl.AddElement(func);
+ var fnl = new List();
+ fnl.Add(func);
return convert_functions_to_calls(obj, fnl, loc, is_static);
}
@@ -5328,7 +5328,7 @@ namespace PascalABCCompiler.TreeConverter
{
LambdaHelper.processingLambdaParametersForTypeInference++;
// SSM 21.05.14 - попытка обработать перегруженные функции с параметрами-лямбдами с различными возвращаемыми значениями
- function_node_list spf = null;
+ List spf = null;
try
{
ThrowCompilationError = false;
@@ -5791,7 +5791,7 @@ namespace PascalABCCompiler.TreeConverter
{
LambdaHelper.processingLambdaParametersForTypeInference++;
// SSM 21.05.14 - попытка обработать перегруженные функции с параметрами-лямбдами с различными возвращаемыми значениями
- function_node_list spf = null;
+ List spf = null;
try
{
function_node ffn = convertion_data_and_alghoritms.select_function(exprs, sil, subloc, syntax_nodes_parameters);
@@ -6086,7 +6086,7 @@ namespace PascalABCCompiler.TreeConverter
{
LambdaHelper.processingLambdaParametersForTypeInference++;
// SSM 21.05.14 - попытка обработать перегруженные функции с параметрами-лямбдами с различными возвращаемыми значениями
- function_node_list spf = null;
+ List spf = null;
try
{
function_node ffn = convertion_data_and_alghoritms.select_function(exprs, sil, subloc, syntax_nodes_parameters);
@@ -7004,7 +7004,7 @@ namespace PascalABCCompiler.TreeConverter
{
LambdaHelper.processingLambdaParametersForTypeInference++;
// SSM 21.05.14 - попытка обработать перегруженные функции с параметрами-лямбдами с различными возвращаемыми значениями
- function_node_list spf = null;
+ List spf = null;
try
{
function_node fn = convertion_data_and_alghoritms.select_function(exprs, sil, subloc2, syntax_nodes_parameters);
@@ -18143,7 +18143,7 @@ namespace PascalABCCompiler.TreeConverter
var syntax_nodes_parameters = lambdas_info.Item2;
// SSM 21.05.14 - попытка обработать перегруженные функции с параметрами-лямбдами с различными возвращаемыми значениями
- function_node_list spf = null;
+ List spf = null;
try
{
function_node fn = convertion_data_and_alghoritms.select_function(exprs, sil, loc,
diff --git a/VisualPascalABCNET/IB/CodeCompletion/QuickClassBrowserPanel.cs b/VisualPascalABCNET/IB/CodeCompletion/QuickClassBrowserPanel.cs
index e616f0ba7..473844f8b 100644
--- a/VisualPascalABCNET/IB/CodeCompletion/QuickClassBrowserPanel.cs
+++ b/VisualPascalABCNET/IB/CodeCompletion/QuickClassBrowserPanel.cs
@@ -723,7 +723,7 @@ namespace VisualPascalABC
classComboBox.Invoke(new Invoke_del(Invoke_EndUpdate));
}
}
- catch (Exception ex)
+ catch (Exception )
{
}
}
diff --git a/VisualPascalABCNET/IB/Debugger/Actions.cs b/VisualPascalABCNET/IB/Debugger/Actions.cs
index 40556cdea..f56aab8c8 100644
--- a/VisualPascalABCNET/IB/Debugger/Actions.cs
+++ b/VisualPascalABCNET/IB/Debugger/Actions.cs
@@ -38,7 +38,7 @@ namespace VisualPascalABC
WorkbenchServiceFactory.DebuggerOperationsService.AddVariable(var, true);
}
}
- catch (System.Exception e)
+ catch (System.Exception)
{
WorkbenchServiceFactory.DebuggerOperationsService.GotoWatch();
}
diff --git a/VisualPascalABCNET/IB/Debugger/Bookmarks.cs b/VisualPascalABCNET/IB/Debugger/Bookmarks.cs
index 3263d0345..a28cc1f93 100644
--- a/VisualPascalABCNET/IB/Debugger/Bookmarks.cs
+++ b/VisualPascalABCNET/IB/Debugger/Bookmarks.cs
@@ -680,7 +680,7 @@ namespace VisualPascalABC
breakpoints_conditions.Remove(breakpoints[breakpoint]);
WorkbenchServiceFactory.DebuggerManager.RemoveBreakpoint(breakpoints[breakpoint]);
}
- catch (System.Exception e)
+ catch (System.Exception)
{
}
breakpoints.Remove(breakpoint);
diff --git a/VisualPascalABCNET/IB/Debugger/LocalVars.cs b/VisualPascalABCNET/IB/Debugger/LocalVars.cs
index d1acf247b..de175a360 100644
--- a/VisualPascalABCNET/IB/Debugger/LocalVars.cs
+++ b/VisualPascalABCNET/IB/Debugger/LocalVars.cs
@@ -1151,7 +1151,7 @@ namespace VisualPascalABC
continue;
list.Add(new ValueItem(v,this.DebugType));
}
- catch (System.Exception e)
+ catch (System.Exception)
{
}
}
diff --git a/VisualPascalABCNET/Projects/UserOptionsManager.cs b/VisualPascalABCNET/Projects/UserOptionsManager.cs
index ea0527671..06beca34c 100644
--- a/VisualPascalABCNET/Projects/UserOptionsManager.cs
+++ b/VisualPascalABCNET/Projects/UserOptionsManager.cs
@@ -118,7 +118,7 @@ namespace VisualPascalABC
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
return bf.Deserialize(new FileStream(file_name, FileMode.Open)) as UserProjectSettings;
}
- catch (Exception e)
+ catch (Exception)
{
}
diff --git a/VisualPascalABCNET/Workbench/FileOperations.cs b/VisualPascalABCNET/Workbench/FileOperations.cs
index 7ec03cc4d..177a59272 100644
--- a/VisualPascalABCNET/Workbench/FileOperations.cs
+++ b/VisualPascalABCNET/Workbench/FileOperations.cs
@@ -392,7 +392,7 @@ namespace VisualPascalABC
if (TbPage == CurrentCodeFileDocument)
UpdateSaveButtonsEnabled();
}
- catch (Exception ex)
+ catch (Exception)
{
MessageBox.Show(String.Format(Form1StringResources.Get("SAVE_FILE_ERROR_TEXT{0}"), FileName), PascalABCCompiler.StringResources.Get("!ERROR"), MessageBoxButtons.OK, MessageBoxIcon.Error);
}
diff --git a/VisualPascalABCNET/Workbench/ProjectService.cs b/VisualPascalABCNET/Workbench/ProjectService.cs
index a7d6216e7..8e24adf38 100644
--- a/VisualPascalABCNET/Workbench/ProjectService.cs
+++ b/VisualPascalABCNET/Workbench/ProjectService.cs
@@ -141,7 +141,7 @@ namespace VisualPascalABC
{
MessageBox.Show(Form1StringResources.Get("TOO_OLD_PROJECT_FILE_VERSION"), PascalABCCompiler.StringResources.Get("!ERROR"), MessageBoxButtons.OK, MessageBoxIcon.Error);
}
- catch (Exception ex)
+ catch (Exception)
{
MessageBox.Show(Form1StringResources.Get("ERROR_OPEN_PROJECT"), PascalABCCompiler.StringResources.Get("!ERROR"), MessageBoxButtons.OK, MessageBoxIcon.Error);
}
diff --git a/VisualPascalABCNET/Workbench/WindowOperations.cs b/VisualPascalABCNET/Workbench/WindowOperations.cs
index 3ce0a5766..541d6d069 100644
--- a/VisualPascalABCNET/Workbench/WindowOperations.cs
+++ b/VisualPascalABCNET/Workbench/WindowOperations.cs
@@ -670,7 +670,7 @@ namespace VisualPascalABC
DebugWatchListWindow.RefreshWatch();
AdvancedDataGridView.TreeGridNode.UpdateNodesForLocalList(DebugVariablesListWindow.watchList, DebugVariablesListWindow.watchList.Nodes, items);
}
- catch (System.Exception e)
+ catch (System.Exception)
{
}
diff --git a/VisualPlugins/HelpBuilder/HtmlUtils.cs b/VisualPlugins/HelpBuilder/HtmlUtils.cs
index ffa4bcc5d..4732674ec 100644
--- a/VisualPlugins/HelpBuilder/HtmlUtils.cs
+++ b/VisualPlugins/HelpBuilder/HtmlUtils.cs
@@ -10,7 +10,6 @@ using System.Text;
using System.Text.RegularExpressions;
using System.IO;
using PascalABCCompiler.SemanticTree;
-using System.Text.RegularExpressions;
using System.Reflection;
namespace VisualPascalABCPlugins