Skip to content

Commit

Permalink
Removes nullability warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
RainOrigami committed Sep 8, 2023
1 parent 4c2995c commit b24ba6c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 19 deletions.
18 changes: 9 additions & 9 deletions BattleBitAPIRunner/Module.cs
Expand Up @@ -28,13 +28,13 @@ internal class Module
public string? Name { get; private set; }
public string[]? RequiredDependencies { get; private set; }
public string[]? OptionalDependencies { get; private set; }
public byte[] AssemblyBytes { get; private set; }
public byte[] PDBBytes { get; private set; }
public byte[] AssemblyBytes { get; private set; } = null!;
public byte[] PDBBytes { get; private set; } = null!;
public string ModuleFilePath { get; }
public Assembly? ModuleAssembly { get; private set; }

private SyntaxTree syntaxTree;
private string code;
private SyntaxTree syntaxTree = null!;
private string code = null!;

public static void LoadContext(string[] dependencies)
{
Expand All @@ -54,7 +54,7 @@ private static void loadReferences(string[] dependencies)
MetadataReference.CreateFromFile(typeof(Player<>).Assembly.Location),
};

foreach (string dll in Directory.GetFiles(Path.GetDirectoryName(typeof(object).Assembly.Location), "*.dll"))
foreach (string dll in Directory.GetFiles(Path.GetDirectoryName(typeof(object).Assembly.Location)!, "*.dll"))
{

if (!IsAssemblyValidReference(dll))
Expand Down Expand Up @@ -120,7 +120,7 @@ private void initialize()
Console.ForegroundColor = ConsoleColor.White;
Console.Write(this.Name);
Console.ResetColor();
Console.WriteLine($" has {this.RequiredDependencies.Length} required and {this.OptionalDependencies.Length} optional dependencies");
Console.WriteLine($" has {this.RequiredDependencies!.Length} required and {this.OptionalDependencies!.Length} optional dependencies");
Console.WriteLine();
}

Expand All @@ -129,10 +129,10 @@ private void getDependencies()
IEnumerable<AttributeSyntax> attributeSyntaxes = syntaxTree.GetRoot().DescendantNodes().OfType<AttributeSyntax>();
IEnumerable<AttributeSyntax> requireModuleAttributes = attributeSyntaxes.Where(x => x.Name.ToString() + "Attribute" == nameof(RequireModuleAttribute));
IEnumerable<AttributeSyntax> publicRequireModuleAttributes = requireModuleAttributes.Where(x => x.Parent?.Parent is ClassDeclarationSyntax classDeclarationSyntax && classDeclarationSyntax.Modifiers.Any(x => x.ToString() == "public"));
IEnumerable<string> requiredModuleTypes = publicRequireModuleAttributes.Select(x => x.ArgumentList?.Arguments.FirstOrDefault()?.Expression.ToString().Trim('"')[6..].Trim('(', ')').Split('.').Last()).Where(x => !string.IsNullOrWhiteSpace(x));
IEnumerable<string> requiredModuleTypes = publicRequireModuleAttributes.Select(x => x.ArgumentList?.Arguments.FirstOrDefault()?.Expression.ToString().Trim('"')[6..].Trim('(', ')').Split('.').Last()).Where(x => !string.IsNullOrWhiteSpace(x)).Select(s => s!);
IEnumerable<AttributeSyntax> moduleReferenceAttributes = attributeSyntaxes.Where(x => x.Name.ToString() + "Attribute" == nameof(ModuleReferenceAttribute));
IEnumerable<AttributeSyntax> publicModuleReferenceAttributes = moduleReferenceAttributes.Where(x => x.Parent?.Parent is PropertyDeclarationSyntax propertyDeclarationSyntax && propertyDeclarationSyntax.Modifiers.Any(x => x.ToString() == "public"));
IEnumerable<string> optionalModuleTypes = publicModuleReferenceAttributes.Select(x => (x.Parent?.Parent as PropertyDeclarationSyntax).Identifier.ValueText);
IEnumerable<string> optionalModuleTypes = publicModuleReferenceAttributes.Select(x => (x.Parent?.Parent as PropertyDeclarationSyntax)!.Identifier.ValueText);

this.RequiredDependencies = requiredModuleTypes.ToArray();
this.OptionalDependencies = optionalModuleTypes.Where(m => !this.RequiredDependencies.Contains(m)).ToArray();
Expand Down Expand Up @@ -197,7 +197,7 @@ public void Compile(PortableExecutableReference[]? extraReferences = null)
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(this.Name);
Console.ResetColor();
List<PortableExecutableReference> references = new(baseReferences);
List<PortableExecutableReference> references = new(baseReferences!);

foreach (Module module in modules)
{
Expand Down
20 changes: 10 additions & 10 deletions BattleBitAPIRunner/Program.cs
Expand Up @@ -226,7 +226,7 @@ private void consoleCommandHandler()

string moduleName = commandParts[1];

Module? moduleToLoad = Module.Modules.FirstOrDefault(m => m.Name.Equals(moduleName, StringComparison.OrdinalIgnoreCase));
Module? moduleToLoad = Module.Modules.FirstOrDefault(m => m.Name!.Equals(moduleName, StringComparison.OrdinalIgnoreCase));

if (moduleToLoad is null)
{
Expand Down Expand Up @@ -267,7 +267,7 @@ private void unloadModules()
List<BattleBitModule> instances = new();
foreach (Module module in Module.Modules)
{
BattleBitModule? moduleInstance = server.GetModule(module.ModuleType);
BattleBitModule? moduleInstance = server.GetModule(module.ModuleType!);
if (moduleInstance is null)
{
continue;
Expand Down Expand Up @@ -342,7 +342,7 @@ private void loadModules()
{
try
{
string[] missingRequirements = module.RequiredDependencies.Where(r => sortedModules.All(m => m.Name != r)).ToArray();
string[] missingRequirements = module.RequiredDependencies!.Where(r => sortedModules.All(m => m.Name != r)).ToArray();
if (missingRequirements.Length > 0)
{
Console.ForegroundColor = ConsoleColor.Red;
Expand Down Expand Up @@ -381,7 +381,7 @@ private void loadModules()
foreach (RunnerServer server in this.servers)
{
loadServerModules(server);
server.OnConnected();
_ = server.OnConnected();
}
}

Expand All @@ -405,10 +405,10 @@ private void loadServerModules(RunnerServer server, IPAddress? ip = null, ushort

foreach (Module module in Module.Modules)
{
BattleBitModule moduleInstance;
BattleBitModule? moduleInstance;
try
{
moduleInstance = Activator.CreateInstance(module.ModuleType) as BattleBitModule;
moduleInstance = Activator.CreateInstance(module.ModuleType!) as BattleBitModule;
if (moduleInstance is null)
{
throw new Exception($"Not inheriting from {nameof(BattleBitModule)}");
Expand All @@ -427,7 +427,7 @@ private void loadServerModules(RunnerServer server, IPAddress? ip = null, ushort
}

// Module configurations
foreach (PropertyInfo property in module.ModuleType.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly).Where(p => p.PropertyType.IsAssignableTo(typeof(ModuleConfiguration))))
foreach (PropertyInfo property in module.ModuleType!.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly).Where(p => p.PropertyType.IsAssignableTo(typeof(ModuleConfiguration))))
{
try
{
Expand All @@ -436,7 +436,7 @@ private void loadServerModules(RunnerServer server, IPAddress? ip = null, ushort
throw new Exception($"Configuration does not inherit from {nameof(ModuleConfiguration)}");
}

ModuleConfiguration moduleConfiguration = Activator.CreateInstance(property.PropertyType) as ModuleConfiguration;
ModuleConfiguration moduleConfiguration = (Activator.CreateInstance(property.PropertyType) as ModuleConfiguration)!;
moduleConfiguration.Initialize(moduleInstance, property, $"{ip ?? server.GameIP}_{port ?? server.GamePort}");
moduleConfiguration.OnLoadingRequest += ModuleConfiguration_OnLoadingRequest;
moduleConfiguration.OnSavingRequest += ModuleConfiguration_OnSavingRequest;
Expand Down Expand Up @@ -512,7 +512,7 @@ private void ModuleConfiguration_OnSavingRequest(object? sender, BattleBitModule

if (!Directory.Exists(Path.GetDirectoryName(filePath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(filePath));
Directory.CreateDirectory(Path.GetDirectoryName(filePath)!);
}

object? configurationValue = property.GetValue(module);
Expand All @@ -535,7 +535,7 @@ private void ModuleConfiguration_OnLoadingRequest(object? sender, BattleBitModul

if (!Directory.Exists(Path.GetDirectoryName(filePath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(filePath));
Directory.CreateDirectory(Path.GetDirectoryName(filePath)!);
}

// Create instance of type of the property if it doesn't exist
Expand Down

0 comments on commit b24ba6c

Please sign in to comment.