Browse Source

Enable nullable annotations for Volo.Abp.VirtualFileSystem

pull/17020/head
liangshiwei 3 years ago
parent
commit
92e690fb28
  1. 2
      framework/src/Volo.Abp.VirtualFileSystem/Microsoft/Extensions/FileProviders/AbpFileInfoExtensions.cs
  2. 2
      framework/src/Volo.Abp.VirtualFileSystem/Volo.Abp.VirtualFileSystem.csproj
  3. 6
      framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/DictionaryBasedFileProvider.cs
  4. 4
      framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/DynamicFileProvider.cs
  5. 9
      framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/AbpEmbeddedFileProvider.cs
  6. 6
      framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedResourceFileInfo.cs
  7. 4
      framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedVirtualFileSetInfo.cs
  8. 2
      framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/InMemoryFileInfo.cs
  9. 10
      framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/VirtualFileSetListExtensions.cs

2
framework/src/Volo.Abp.VirtualFileSystem/Microsoft/Extensions/FileProviders/AbpFileInfoExtensions.cs

@ -84,7 +84,7 @@ public static class AbpFileInfoExtensions
}
}
public static string GetVirtualOrPhysicalPathOrNull([NotNull] this IFileInfo fileInfo)
public static string? GetVirtualOrPhysicalPathOrNull([NotNull] this IFileInfo fileInfo)
{
Check.NotNull(fileInfo, nameof(fileInfo));

2
framework/src/Volo.Abp.VirtualFileSystem/Volo.Abp.VirtualFileSystem.csproj

@ -5,6 +5,8 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.VirtualFileSystem</AssemblyName>
<PackageId>Volo.Abp.VirtualFileSystem</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

6
framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/DictionaryBasedFileProvider.cs

@ -9,11 +9,11 @@ public abstract class DictionaryBasedFileProvider : IFileProvider
{
protected abstract IDictionary<string, IFileInfo> Files { get; }
public virtual IFileInfo GetFileInfo(string subpath)
public virtual IFileInfo GetFileInfo(string? subpath)
{
if (subpath == null)
{
return new NotFoundFileInfo(subpath);
return new NotFoundFileInfo(subpath!);
}
var file = Files.GetOrDefault(NormalizePath(subpath));
@ -40,7 +40,7 @@ public abstract class DictionaryBasedFileProvider : IFileProvider
foreach (var fileInfo in Files.Values)
{
var fullPath = fileInfo.GetVirtualOrPhysicalPathOrNull();
if (!fullPath.StartsWith(directoryPath))
if (fullPath == null || !fullPath.StartsWith(directoryPath))
{
continue;
}

4
framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/DynamicFileProvider.cs

@ -32,8 +32,8 @@ public class DynamicFileProvider : DictionaryBasedFileProvider, IDynamicFileProv
public void AddOrUpdate(IFileInfo fileInfo)
{
var filePath = fileInfo.GetVirtualOrPhysicalPathOrNull();
DynamicFiles.AddOrUpdate(filePath, fileInfo, (key, value) => fileInfo);
ReportChange(filePath);
DynamicFiles.AddOrUpdate(filePath!, fileInfo, (key, value) => fileInfo);
ReportChange(filePath!);
}
public bool Delete(string filePath)

9
framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/AbpEmbeddedFileProvider.cs

@ -13,15 +13,14 @@ public class AbpEmbeddedFileProvider : DictionaryBasedFileProvider
[NotNull]
public Assembly Assembly { get; }
[CanBeNull]
public string BaseNamespace { get; }
public string? BaseNamespace { get; }
protected override IDictionary<string, IFileInfo> Files => _files.Value;
private readonly Lazy<Dictionary<string, IFileInfo>> _files;
public AbpEmbeddedFileProvider(
[NotNull] Assembly assembly,
[CanBeNull] string baseNamespace = null)
string? baseNamespace = null)
{
Check.NotNull(assembly, nameof(assembly));
@ -40,7 +39,7 @@ public class AbpEmbeddedFileProvider : DictionaryBasedFileProvider
foreach (var resourcePath in Assembly.GetManifestResourceNames())
{
if (!BaseNamespace.IsNullOrEmpty() && !resourcePath.StartsWith(BaseNamespace))
if (!BaseNamespace.IsNullOrEmpty() && !resourcePath.StartsWith(BaseNamespace!))
{
continue;
}
@ -106,7 +105,7 @@ public class AbpEmbeddedFileProvider : DictionaryBasedFileProvider
{
if (!BaseNamespace.IsNullOrEmpty())
{
resourceName = resourceName.Substring(BaseNamespace.Length + 1);
resourceName = resourceName.Substring(BaseNamespace!.Length + 1);
}
var pathParts = resourceName.Split('.');

6
framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedResourceFileInfo.cs

@ -18,7 +18,7 @@ public class EmbeddedResourceFileInfo : IFileInfo
{
using (var stream = _assembly.GetManifestResourceStream(_resourcePath))
{
_length = stream.Length;
_length = stream!.Length;
}
}
@ -27,7 +27,7 @@ public class EmbeddedResourceFileInfo : IFileInfo
}
private long? _length;
public string PhysicalPath => null;
public string? PhysicalPath => null;
public string VirtualPath { get; }
@ -68,7 +68,7 @@ public class EmbeddedResourceFileInfo : IFileInfo
_length = stream.Length;
}
return stream;
return stream!;
}
public override string ToString()

4
framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/Embedded/EmbeddedVirtualFileSetInfo.cs

@ -7,12 +7,12 @@ public class EmbeddedVirtualFileSetInfo : VirtualFileSetInfo
{
public Assembly Assembly { get; }
public string BaseFolder { get; }
public string? BaseFolder { get; }
public EmbeddedVirtualFileSetInfo(
IFileProvider fileProvider,
Assembly assembly,
string baseFolder = null)
string? baseFolder = null)
: base(fileProvider)
{
Assembly = assembly;

2
framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/InMemoryFileInfo.cs

@ -10,7 +10,7 @@ public class InMemoryFileInfo : IFileInfo
public long Length => _fileContent.Length;
public string PhysicalPath => null;
public string? PhysicalPath => null;
public string Name { get; }

10
framework/src/Volo.Abp.VirtualFileSystem/Volo/Abp/VirtualFileSystem/VirtualFileSetListExtensions.cs

@ -13,8 +13,8 @@ public static class VirtualFileSetListExtensions
{
public static void AddEmbedded<T>(
[NotNull] this VirtualFileSetList list,
[CanBeNull] string baseNamespace = null,
[CanBeNull] string baseFolder = null)
string? baseNamespace = null,
string? baseFolder = null)
{
Check.NotNull(list, nameof(list));
@ -42,8 +42,8 @@ public static class VirtualFileSetListExtensions
private static IFileProvider CreateFileProvider(
[NotNull] Assembly assembly,
[CanBeNull] string baseNamespace = null,
[CanBeNull] string baseFolder = null)
string? baseNamespace = null,
string? baseFolder = null)
{
Check.NotNull(assembly, nameof(assembly));
@ -80,7 +80,7 @@ public static class VirtualFileSetListExtensions
if (!embeddedVirtualFileSet.BaseFolder.IsNullOrEmpty())
{
thisPath = Path.Combine(thisPath, embeddedVirtualFileSet.BaseFolder);
thisPath = Path.Combine(thisPath, embeddedVirtualFileSet.BaseFolder!);
}
fileSets[i] = new PhysicalVirtualFileSetInfo(new PhysicalFileProvider(thisPath), thisPath);

Loading…
Cancel
Save