Skip to content

Commit

Permalink
Merge pull request #19 from ByronMayne/feature/nullable-warnings
Browse files Browse the repository at this point in the history
Fixed a bunch of nullable warnings
  • Loading branch information
ByronMayne authored Jul 3, 2024
2 parents b929574 + c5336d7 commit 66218ee
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 9 deletions.
17 changes: 15 additions & 2 deletions src/SourceGenerator.Foundations/Templates/AssemblyResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,22 @@ namespace {{@namespace}}
/// </summary>
internal class AssemblyNameComparer : IEqualityComparer<AssemblyName>
{
public bool Equals(AssemblyName x, AssemblyName y)
public bool Equals(AssemblyName? x, AssemblyName? y)
{
return string.Equals(GetName(x), GetName(y));
bool isLhsNull = ReferenceEquals(x, null);
bool isRhsNull = ReferenceEquals(y, null);
if(isLhsNull && isRhsNull)
{
return true;
}
if(isLhsNull != isRhsNull)
{
return false;
}
return string.Equals(GetName(x!), GetName(y!));
}
public int GetHashCode(AssemblyName obj)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ internal static void Initialize()
/// </summary>
/// <param name="sender">THe thing that raised the event</param>
/// <param name="args">The parameters</param>
private static void OnAssemblyLoaded(object sender, AssemblyLoadEventArgs args)
private static void OnAssemblyLoaded(object? sender, AssemblyLoadEventArgs args)
{
AddAssembly(args.LoadedAssembly);
}
Expand Down Expand Up @@ -121,11 +121,11 @@ private static void AddAssembly(Assembly assembly)
/// Attempts to resolve any assembly by looking for dependencies that are embedded directly
/// in this dll.
/// </summary>
private static Assembly? ResolveMissingAssembly(object sender, ResolveEventArgs args)
private static Assembly? ResolveMissingAssembly(object? sender, ResolveEventArgs args)
{
AssemblyName assemblyName = new(args.Name);
if (s_loadedAssemblies.TryGetValue(assemblyName, out Assembly assembly))
if (s_loadedAssemblies.TryGetValue(assemblyName, out Assembly? assembly))
{
return assembly;
}
Expand Down Expand Up @@ -160,8 +160,8 @@ private static bool TryExtractingAssembly(Assembly assembly, string resourceName
{
#pragma warning disable RS1035 // Do not use APIs banned for analyzers
loadedAssembly = TryGetResourceBytes(assembly, Path.ChangeExtension(resourceName, ".pdb"), out byte[]? symbolBytes)
? Assembly.Load(assemblyBytes, symbolBytes)
: Assembly.Load(assemblyBytes);
? Assembly.Load(assemblyBytes!, symbolBytes!)
: Assembly.Load(assemblyBytes!);
#pragma warning restore RS1035 // Do not use APIs banned for analyzers
return true;
}
Expand All @@ -181,14 +181,19 @@ private static bool TryExtractingAssembly(Assembly assembly, string resourceName
private static bool TryGetResourceBytes(Assembly assembly, string resourceName, out byte[]? bytes)
{
bytes = null;
ManifestResourceInfo resourceInfo = assembly.GetManifestResourceInfo(resourceName);
ManifestResourceInfo? resourceInfo = assembly.GetManifestResourceInfo(resourceName);
if (resourceInfo == null)
{
return false;
}
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (Stream? stream = assembly.GetManifestResourceStream(resourceName))
{
if(stream == null)
{
return false;
}
bytes = new byte[stream.Length];
_ = stream.Read(bytes, 0, bytes.Length);
}
Expand Down

0 comments on commit 66218ee

Please sign in to comment.