using System; using System.Collections.Generic; using System.Collections.Immutable; using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Runtime.CompilerServices; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; // ReSharper disable InconsistentNaming namespace Barotrauma.LuaCs.Services; public interface IAssemblyManagementService : IReusableService { /// /// Searches for an assembly given it's fully qualified name, while excluding the contexts with the given Guids, if supplied. /// /// The fully-qualified assembly name. /// Guids of excluded contexts. /// On Success: The assembly.
On Failure: nothing.
FluentResults.Result GetLoadedAssembly(string assemblyName, in Guid[] excludedContexts); /// /// Searches for an assembly given it's fully qualified name, while excluding the contexts with the given Guids, if supplied. /// /// The assembly info. /// Guids of excluded contexts. /// On Success: The assembly.
On Failure: nothing.
FluentResults.Result GetLoadedAssembly(AssemblyName assemblyName, in Guid[] excludedContexts); /// /// Gets the assembly collection for the BCL and base game assemblies. /// /// collection, if any are found. Returns an empty collection otherwise. ImmutableArray GetDefaultMetadataReferences(); /// /// Gets the assembly collection for all add-in assemblies loaded. /// /// collection, if any are found. Returns an empty collection otherwise. ImmutableArray GetAddInContextsMetadataReferences(); /// /// /// ImmutableArray AssemblyLoaderServices { get; } }