C#: Fix warnings
- Fix most CS0108 in generated glue - Suppress CA1001 on `Variant`
This commit is contained in:
parent
f28964805e
commit
7290e7d7a5
|
@ -125,6 +125,20 @@ const Vector<String> ignored_types = {};
|
||||||
// Don't check against all C# reserved words, as many cases are GDScript-specific.
|
// Don't check against all C# reserved words, as many cases are GDScript-specific.
|
||||||
const Vector<String> langword_check = { "true", "false", "null" };
|
const Vector<String> langword_check = { "true", "false", "null" };
|
||||||
|
|
||||||
|
// The following properties currently need to be defined with `new` to avoid warnings. We treat
|
||||||
|
// them as a special case instead of silencing the warnings altogether, to be warned if more
|
||||||
|
// shadowing appears.
|
||||||
|
const Vector<String> prop_allowed_inherited_member_hiding = {
|
||||||
|
"ArrayMesh.BlendShapeMode",
|
||||||
|
"Button.TextDirection",
|
||||||
|
"Label.TextDirection",
|
||||||
|
"LineEdit.TextDirection",
|
||||||
|
"LinkButton.TextDirection",
|
||||||
|
"MenuBar.TextDirection",
|
||||||
|
"RichTextLabel.TextDirection",
|
||||||
|
"TextEdit.TextDirection",
|
||||||
|
};
|
||||||
|
|
||||||
void BindingsGenerator::TypeInterface::postsetup_enum_type(BindingsGenerator::TypeInterface &r_enum_itype) {
|
void BindingsGenerator::TypeInterface::postsetup_enum_type(BindingsGenerator::TypeInterface &r_enum_itype) {
|
||||||
// C interface for enums is the same as that of 'uint32_t'. Remember to apply
|
// C interface for enums is the same as that of 'uint32_t'. Remember to apply
|
||||||
// any of the changes done here to the 'uint32_t' type interface as well.
|
// any of the changes done here to the 'uint32_t' type interface as well.
|
||||||
|
@ -2569,6 +2583,10 @@ Error BindingsGenerator::_generate_cs_property(const BindingsGenerator::TypeInte
|
||||||
|
|
||||||
p_output.append(MEMBER_BEGIN "public ");
|
p_output.append(MEMBER_BEGIN "public ");
|
||||||
|
|
||||||
|
if (prop_allowed_inherited_member_hiding.has(p_itype.proxy_name + "." + p_iprop.proxy_name)) {
|
||||||
|
p_output.append("new ");
|
||||||
|
}
|
||||||
|
|
||||||
if (p_itype.is_singleton) {
|
if (p_itype.is_singleton) {
|
||||||
p_output.append("static ");
|
p_output.append("static ");
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,10 @@ namespace Godot;
|
||||||
|
|
||||||
#nullable enable
|
#nullable enable
|
||||||
|
|
||||||
|
// TODO: Disabled because it is a false positive, see https://github.com/dotnet/roslyn-analyzers/issues/6151
|
||||||
|
#pragma warning disable CA1001 // Types that own disposable fields should be disposable
|
||||||
public partial struct Variant : IDisposable
|
public partial struct Variant : IDisposable
|
||||||
|
#pragma warning restore CA1001
|
||||||
{
|
{
|
||||||
internal godot_variant.movable NativeVar;
|
internal godot_variant.movable NativeVar;
|
||||||
private object? _obj;
|
private object? _obj;
|
||||||
|
|
Loading…
Reference in New Issue