using System; using System.CodeDom.Compiler; using System.Collections.Generic; namespace MudEngine.Scripting { /// /// Used to implement a wrapper for an existing compiler. /// public interface ICompiler { #if WINDOWS_PC CompilerResults Results { get; set; } /// /// The file extension used for the script files. /// String ScriptExtension { get; set; } /// /// Provides a collection of Assemblies that the compiler will add to its reference list. /// List AssemblyReferences { get; set; } /// /// Provides compiling options to various compilers, if they support this feature. /// Dictionary CompilerOptions { get; set; } /// /// Compiles the source files found within the scriptRepository directory matching the ICompiler.ScriptExtension /// The Compiler defaults to the C# 4.0 compiler if none other is supplied via the ICompiler.CompilerOptions argument. /// /// Compiler Parameters that can be supplied to customize the compilation of the source. /// Returns true if the compilation was completed without error. Boolean Compile(CompilerParameters param, String scriptRepository); Boolean Compile(CompilerParameters param, System.IO.FileInfo scriptFile); Boolean Compile(CompilerParameters param, String[] scriptSource); #endif } }