Skip to content

Commit 526509c

Browse files
authored
chore: resolve a large number of warnings in csharp codebase (#952)
Removing a host of unused `Using` statements, replacing verbose variable typings with the `var` keyword, using more expressive syntax for certain patterns, and resolving a couple of "potential null access" problems.
1 parent 6c54be6 commit 526509c

24 files changed

+203
-273
lines changed

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/Api/Response/GetResponse.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using Newtonsoft.Json;
2-
using System;
32

43
namespace Amazon.JSII.JsonModel.Api.Response
54
{

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/Api/Response/NamingResponse.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using Amazon.JSII.JsonModel.Converters;
2-
using Newtonsoft.Json;
1+
using Newtonsoft.Json;
32
using System;
43
using System.Collections.Generic;
54

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/Converters/TypeConverter.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using Amazon.JSII.JsonModel.Spec;
22
using Newtonsoft.Json;
3-
using Newtonsoft.Json.Linq;
43
using System;
54

65
namespace Amazon.JSII.JsonModel.Converters

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/Converters/TypeDictionaryConverter.cs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
1-
using Amazon.JSII.JsonModel.Spec;
2-
using Newtonsoft.Json;
1+
using Newtonsoft.Json;
32
using Newtonsoft.Json.Linq;
43
using System;
5-
using System.Collections.Generic;
64
using System.Linq;
7-
using System.Text;
85

96
namespace Amazon.JSII.JsonModel.Converters
107
{
11-
class TypeDictionaryConverter : JsonConverter
8+
internal sealed class TypeDictionaryConverter : JsonConverter
129
{
1310
public override bool CanRead => true;
1411

1512
public override bool CanWrite => false;
1613

17-
public override bool CanConvert(System.Type objectType)
14+
public override bool CanConvert(Type objectType)
1815
{
1916
throw new NotImplementedException();
2017
}
2118

22-
public override object ReadJson(JsonReader reader, System.Type objectType, object existingValue, JsonSerializer serializer)
19+
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
2320
{
24-
JObject untypedDictionary = JObject.Load(reader);
21+
var untypedDictionary = JObject.Load(reader);
2522

2623
return untypedDictionary.Properties().ToDictionary(p => p.Name, p => Util.ConvertToDerivedType(p.Value));
2724
}

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/Converters/Util.cs

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace Amazon.JSII.JsonModel.Converters
77
{
8-
static class Util
8+
internal static class Util
99
{
1010
internal static Spec.Type ConvertToDerivedType(JToken token)
1111
{
@@ -14,27 +14,18 @@ internal static Spec.Type ConvertToDerivedType(JToken token)
1414
throw new ArgumentException($"Unexpected token type: {token.Type}", nameof(token));
1515
}
1616

17-
if (token["kind"] is JToken kindToken)
18-
{
19-
TypeKind kind = kindToken.ToObject<TypeKind>();
20-
21-
switch (kind)
22-
{
23-
case TypeKind.Enum:
24-
return token.ToObject<EnumType>();
25-
26-
case TypeKind.Class:
27-
return token.ToObject<ClassType>();
28-
29-
case TypeKind.Interface:
30-
return token.ToObject<InterfaceType>();
17+
if (!(token["kind"] is {} kindToken))
18+
throw new ArgumentException($"Unexpected child token: '{token["kind"]}'", nameof(token));
19+
20+
var kind = kindToken.ToObject<TypeKind>();
3121

32-
default:
33-
throw new ArgumentException($"Unknown kind {kind} on type {token.ToString(Formatting.Indented)}", nameof(token));
34-
}
35-
}
36-
37-
throw new ArgumentException($"Unexpected child token: '{token["kind"]}'", nameof(token));
22+
return kind switch
23+
{
24+
TypeKind.Enum => (Spec.Type) token.ToObject<EnumType>(),
25+
TypeKind.Class => token.ToObject<ClassType>(),
26+
TypeKind.Interface => token.ToObject<InterfaceType>(),
27+
_ => throw new ArgumentException($"Unknown kind {kind} on type {token.ToString(Formatting.Indented)}", nameof(token))
28+
};
3829
}
3930
}
4031
}

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/JsonDictionaryBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
namespace Amazon.JSII.JsonModel
55
{
6-
public abstract class JsonDictionaryBase<TKey, TValue> : IEnumerable, IEnumerable<KeyValuePair<TKey, TValue>>, IDictionary<TKey, TValue>
6+
public abstract class JsonDictionaryBase<TKey, TValue> : IDictionary<TKey, TValue>
77
{
8-
readonly IDictionary<TKey, TValue> _members = new Dictionary<TKey, TValue>();
8+
private readonly IDictionary<TKey, TValue> _members = new Dictionary<TKey, TValue>();
99

1010
#region IDictionary implementation
1111

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/Spec/ClassType.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using Newtonsoft.Json;
2-
using System;
32

43
namespace Amazon.JSII.JsonModel.Spec
54
{

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/Spec/DependencyRoot.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using Newtonsoft.Json;
2-
using System;
32
using System.Collections.Generic;
43

54
namespace Amazon.JSII.JsonModel.Spec

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/Spec/InterfaceType.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using Newtonsoft.Json;
2-
using System;
32

43
namespace Amazon.JSII.JsonModel.Spec
54
{

packages/jsii-dotnet-jsonmodel/src/Amazon.JSII.JsonModel/Spec/Method.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using Newtonsoft.Json;
2-
using System;
32

43
namespace Amazon.JSII.JsonModel.Spec
54
{

0 commit comments

Comments
 (0)