using System.Collections.Generic;
namespace io.github.hatayama.uLoopMCP
{
///
/// Compilation Request
///
/// Related Class: RoslynCompiler
///
public class CompilationRequest
{
/// Source code to compile
public string Code { get; set; }
/// Name of the class
public string ClassName { get; set; }
/// Namespace of the class
public string Namespace { get; set; }
///
/// Additional references (external DLL file paths)
/// Specify external libraries (such as NuGet package DLLs) that are not loaded in the AppDomain
/// by providing their file paths to be added as references during compilation
/// Example: ["C:/MyLibrary/CustomLibrary.dll", "D:/ThirdParty/SomePackage.dll"]
///
public List AdditionalReferences { get; set; } = new();
///
/// Legacy assembly loading mode hint.
/// AssemblyBuilder always compiles against the full reference set, so this value is ignored.
///
public AssemblyLoadingMode AssemblyMode { get; set; } = AssemblyLoadingMode.AllAssemblies;
}
///
/// Defines the mode for loading assemblies during compilation
///
public enum AssemblyLoadingMode
{
/// Reference only selected assemblies
SelectiveReference,
/// Add all assemblies
AllAssemblies
}
}