diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-26 11:46:37 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-26 11:46:37 +0100 |
commit | 85b2c947b26e6f82d755f281a595ddbcb858260d (patch) | |
tree | 940bc71bbc3ae7333f27f032d1833f8e1c65f6fb /modules/mono/editor | |
parent | e96030ecb424d8cda5ed033c020e2047e8175872 (diff) | |
parent | 46b309657048d881fd41c0af40f723b570d02ed4 (diff) | |
download | redot-engine-85b2c947b26e6f82d755f281a595ddbcb858260d.tar.gz |
Merge pull request #87518 from paulloz/dotnet/fix-warnings
Clean a number of C# warnings
Diffstat (limited to 'modules/mono/editor')
8 files changed, 33 insertions, 13 deletions
diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/CodeAnalysisAttributes.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/CodeAnalysisAttributes.cs new file mode 100644 index 0000000000..fa591bc873 --- /dev/null +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/CodeAnalysisAttributes.cs @@ -0,0 +1,7 @@ +namespace System.Diagnostics.CodeAnalysis +{ + [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue)] + public sealed class NotNullAttribute : Attribute + { + } +} diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/Helper.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/Helper.cs new file mode 100644 index 0000000000..aecf127686 --- /dev/null +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/Helper.cs @@ -0,0 +1,15 @@ +using System; +using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; + +namespace Godot.SourceGenerators +{ + public static class Helper + { + [Conditional("DEBUG")] + public static void ThrowIfNull([NotNull] object? value) + { + _ = value ?? throw new ArgumentNullException(); + } + } +} diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/MustBeVariantAnalyzer.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/MustBeVariantAnalyzer.cs index 91a1eadf35..b4f78fd218 100644 --- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/MustBeVariantAnalyzer.cs +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/MustBeVariantAnalyzer.cs @@ -1,5 +1,4 @@ using System.Collections.Immutable; -using System.Diagnostics; using System.Linq; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; @@ -34,7 +33,7 @@ namespace Godot.SourceGenerators // Method invocation or variable declaration that contained the type arguments var parentSyntax = context.Node.Parent; - Debug.Assert(parentSyntax != null); + Helper.ThrowIfNull(parentSyntax); var sm = context.SemanticModel; @@ -49,9 +48,10 @@ namespace Godot.SourceGenerators continue; var typeSymbol = sm.GetSymbolInfo(typeSyntax).Symbol as ITypeSymbol; - Debug.Assert(typeSymbol != null); + Helper.ThrowIfNull(typeSymbol); var parentSymbol = sm.GetSymbolInfo(parentSyntax).Symbol; + Helper.ThrowIfNull(parentSymbol); if (!ShouldCheckTypeArgument(context, parentSyntax, parentSymbol, typeSyntax, typeSymbol, i)) { @@ -69,7 +69,7 @@ namespace Godot.SourceGenerators var marshalType = MarshalUtils.ConvertManagedTypeToMarshalType(typeSymbol, typeCache); - if (marshalType == null) + if (marshalType is null) { Common.ReportGenericTypeArgumentMustBeVariant(context, typeSyntax, typeSymbol); continue; diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptMethodsGenerator.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptMethodsGenerator.cs index 7232e4d7d7..2aa0519269 100644 --- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptMethodsGenerator.cs +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptMethodsGenerator.cs @@ -144,7 +144,7 @@ namespace Godot.SourceGenerators .Append(" /// </summary>\n"); source.Append( - $" public new class MethodName : {symbol.BaseType.FullQualifiedNameIncludeGlobal()}.MethodName {{\n"); + $" public new class MethodName : {symbol.BaseType!.FullQualifiedNameIncludeGlobal()}.MethodName {{\n"); // Generate cached StringNames for methods and properties, for fast lookup diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertiesGenerator.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertiesGenerator.cs index de44ada6de..6e034c6e72 100644 --- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertiesGenerator.cs +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptPropertiesGenerator.cs @@ -133,7 +133,7 @@ namespace Godot.SourceGenerators .Append(" /// </summary>\n"); source.Append( - $" public new class PropertyName : {symbol.BaseType.FullQualifiedNameIncludeGlobal()}.PropertyName {{\n"); + $" public new class PropertyName : {symbol.BaseType!.FullQualifiedNameIncludeGlobal()}.PropertyName {{\n"); // Generate cached StringNames for methods and properties, for fast lookup diff --git a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs index 5409d1a961..5246cc5780 100644 --- a/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs +++ b/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs @@ -185,7 +185,7 @@ namespace Godot.SourceGenerators .Append(" /// </summary>\n"); source.Append( - $" public new class SignalName : {symbol.BaseType.FullQualifiedNameIncludeGlobal()}.SignalName {{\n"); + $" public new class SignalName : {symbol.BaseType!.FullQualifiedNameIncludeGlobal()}.SignalName {{\n"); // Generate cached StringNames for methods and properties, for fast lookup diff --git a/modules/mono/editor/GodotTools/GodotTools/Build/BuildProblemsView.cs b/modules/mono/editor/GodotTools/GodotTools/Build/BuildProblemsView.cs index b23b3f42ef..93b5a6c7f8 100644 --- a/modules/mono/editor/GodotTools/GodotTools/Build/BuildProblemsView.cs +++ b/modules/mono/editor/GodotTools/GodotTools/Build/BuildProblemsView.cs @@ -516,7 +516,7 @@ namespace GodotTools.Build public override void _Ready() { - var editorSettings = GodotSharpEditor.Instance.GetEditorInterface().GetEditorSettings(); + var editorSettings = EditorInterface.Singleton.GetEditorSettings(); _layout = editorSettings.GetSetting(GodotSharpEditor.Settings.ProblemsLayout).As<ProblemsLayout>(); Name = "Problems".TTR(); @@ -655,7 +655,7 @@ namespace GodotTools.Build switch ((long)what) { case EditorSettings.NotificationEditorSettingsChanged: - var editorSettings = GodotSharpEditor.Instance.GetEditorInterface().GetEditorSettings(); + var editorSettings = EditorInterface.Singleton.GetEditorSettings(); _layout = editorSettings.GetSetting(GodotSharpEditor.Settings.ProblemsLayout).As<ProblemsLayout>(); _toggleLayoutButton.ButtonPressed = GetToggleLayoutPressedState(); UpdateProblemsView(); diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp index 25a5720bc4..58071e338b 100644 --- a/modules/mono/editor/bindings_generator.cpp +++ b/modules/mono/editor/bindings_generator.cpp @@ -2237,10 +2237,6 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf p_output.append(INDENT1 "/// </summary>"); } - - if (p_imethod.method_doc->is_deprecated) { - p_output.append(MEMBER_BEGIN "[Obsolete(\"This method is deprecated.\")]"); - } } if (default_args_doc.get_string_length()) { @@ -2255,6 +2251,8 @@ Error BindingsGenerator::_generate_cs_method(const BindingsGenerator::TypeInterf p_output.append(MEMBER_BEGIN "[Obsolete(\""); p_output.append(p_imethod.deprecation_message); p_output.append("\")]"); + } else if (p_imethod.method_doc && p_imethod.method_doc->is_deprecated) { + p_output.append(MEMBER_BEGIN "[Obsolete(\"This method is deprecated.\")]"); } if (p_imethod.is_compat) { |