Analyzer to check that notnullableflag is being properly used (#3569)

This commit is contained in:
Paul Ritter
2022-12-21 00:11:04 +01:00
committed by GitHub
parent a0b067a062
commit bafbdb6363
39 changed files with 338 additions and 132 deletions

View File

@@ -27,7 +27,7 @@ namespace Robust.Benchmarks.Serialization.Copy
var seedMapping = yamlStream.Documents[0].RootNode.ToDataNodeCast<SequenceDataNode>().Cast<MappingDataNode>(0);
Seed = SerializationManager.Read<SeedDataDefinition>(seedMapping);
Seed = SerializationManager.Read<SeedDataDefinition>(seedMapping, notNullableOverride: true);
}
private const string String = "ABC";
@@ -45,7 +45,7 @@ namespace Robust.Benchmarks.Serialization.Copy
[Benchmark]
public string? CreateCopyString()
{
return SerializationManager.CreateCopy(String);
return SerializationManager.CreateCopy(String, notNullableOverride: true);
}
[Benchmark]
@@ -57,13 +57,13 @@ namespace Robust.Benchmarks.Serialization.Copy
[Benchmark]
public DataDefinitionWithString? CreateCopyDataDefinitionWithString()
{
return SerializationManager.CreateCopy(DataDefinitionWithString);
return SerializationManager.CreateCopy(DataDefinitionWithString, notNullableOverride: true);
}
[Benchmark]
public SeedDataDefinition? CreateCopySeedDataDefinition()
{
return SerializationManager.CreateCopy(Seed);
return SerializationManager.CreateCopy(Seed, notNullableOverride: true);
}
[Benchmark]

View File

@@ -43,7 +43,7 @@ namespace Robust.Benchmarks.Serialization.Read
[Benchmark]
public string ReadString()
{
return SerializationManager.Read<string>(StringNode);
return SerializationManager.Read<string>(StringNode, notNullableOverride: true);
}
[Benchmark]
@@ -55,13 +55,13 @@ namespace Robust.Benchmarks.Serialization.Read
[Benchmark]
public DataDefinitionWithString ReadDataDefinitionWithString()
{
return SerializationManager.Read<DataDefinitionWithString>(StringDataDefNode);
return SerializationManager.Read<DataDefinitionWithString>(StringDataDefNode, notNullableOverride: true);
}
[Benchmark]
public SeedDataDefinition ReadSeedDataDefinition()
{
return SerializationManager.Read<SeedDataDefinition>(SeedNode);
return SerializationManager.Read<SeedDataDefinition>(SeedNode, notNullableOverride: true);
}
[Benchmark]

View File

@@ -46,84 +46,84 @@ namespace Robust.Benchmarks.Serialization
[BenchmarkCategory("read")]
public string[]? ReadEmptyString()
{
return SerializationManager.Read<string[]>(EmptyNode);
return SerializationManager.Read<string[]>(EmptyNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public string[]? ReadOneString()
{
return SerializationManager.Read<string[]>(OneIntNode);
return SerializationManager.Read<string[]>(OneIntNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public string[]? ReadTenStrings()
{
return SerializationManager.Read<string[]>(TenIntsNode);
return SerializationManager.Read<string[]>(TenIntsNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public int[]? ReadEmptyInt()
{
return SerializationManager.Read<int[]>(EmptyNode);
return SerializationManager.Read<int[]>(EmptyNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public int[]? ReadOneInt()
{
return SerializationManager.Read<int[]>(OneIntNode);
return SerializationManager.Read<int[]>(OneIntNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public int[]? ReadTenInts()
{
return SerializationManager.Read<int[]>(TenIntsNode);
return SerializationManager.Read<int[]>(TenIntsNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public DataDefinitionWithString[]? ReadEmptyStringDataDef()
{
return SerializationManager.Read<DataDefinitionWithString[]>(EmptyNode);
return SerializationManager.Read<DataDefinitionWithString[]>(EmptyNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public DataDefinitionWithString[]? ReadOneStringDataDef()
{
return SerializationManager.Read<DataDefinitionWithString[]>(OneStringDefNode);
return SerializationManager.Read<DataDefinitionWithString[]>(OneStringDefNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public DataDefinitionWithString[]? ReadTenStringDataDefs()
{
return SerializationManager.Read<DataDefinitionWithString[]>(TenStringDefsNode);
return SerializationManager.Read<DataDefinitionWithString[]>(TenStringDefsNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public SealedDataDefinitionWithString[]? ReadEmptySealedStringDataDef()
{
return SerializationManager.Read<SealedDataDefinitionWithString[]>(EmptyNode);
return SerializationManager.Read<SealedDataDefinitionWithString[]>(EmptyNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public SealedDataDefinitionWithString[]? ReadOneSealedStringDataDef()
{
return SerializationManager.Read<SealedDataDefinitionWithString[]>(OneStringDefNode);
return SerializationManager.Read<SealedDataDefinitionWithString[]>(OneStringDefNode, notNullableOverride: true);
}
[Benchmark]
[BenchmarkCategory("read")]
public SealedDataDefinitionWithString[]? ReadTenSealedStringDataDefs()
{
return SerializationManager.Read<SealedDataDefinitionWithString[]>(TenStringDefsNode);
return SerializationManager.Read<SealedDataDefinitionWithString[]>(TenStringDefsNode, notNullableOverride: true);
}
}
}

View File

@@ -27,7 +27,7 @@ namespace Robust.Benchmarks.Serialization.Write
var seedMapping = yamlStream.Documents[0].RootNode.ToDataNodeCast<SequenceDataNode>().Cast<MappingDataNode>(0);
Seed = SerializationManager.Read<SeedDataDefinition>(seedMapping);
Seed = SerializationManager.Read<SeedDataDefinition>(seedMapping, notNullableOverride: true);
}
private const string String = "ABC";
@@ -45,7 +45,7 @@ namespace Robust.Benchmarks.Serialization.Write
[Benchmark]
public DataNode WriteString()
{
return SerializationManager.WriteValue(String);
return SerializationManager.WriteValue(String, notNullableOverride: true);
}
[Benchmark]
@@ -57,13 +57,13 @@ namespace Robust.Benchmarks.Serialization.Write
[Benchmark]
public DataNode WriteDataDefinitionWithString()
{
return SerializationManager.WriteValue(DataDefinitionWithString);
return SerializationManager.WriteValue(DataDefinitionWithString, notNullableOverride: true);
}
[Benchmark]
public DataNode WriteSeedDataDefinition()
{
return SerializationManager.WriteValue(Seed);
return SerializationManager.WriteValue(Seed, notNullableOverride: true);
}
[Benchmark]