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