/// <summary> /// Defines a new script belonging to the multiscript assembly builder. /// </summary> public ScriptBuilder /*!*/ DefineModule(ScriptCompilationUnit /*!*/ compilationUnit) { string subnamespace = ScriptModule.GetSubnamespace(compilationUnit.SourceUnit.SourceFile.RelativePath, true); ScriptBuilder sb = new ScriptBuilder(compilationUnit, this, subnamespace); MultiScriptAssembly.AddScriptModule(compilationUnit.SourceUnit.SourceFile, sb); return(sb); }
/// <summary> /// Loads a script assembly using a specified CLR assembly. /// </summary> /// <param name="assembly">The assembly to be reflected.</param> /// <returns>The script assembly.</returns> /// <exception cref="InvalidScriptAssemblyException">The assembly is invalid.</exception> public static ScriptAssembly LoadFromAssembly(Assembly /*!*/ assembly) { Debug.Assert(assembly != null); ScriptAssembly result; ScriptAssemblyAttribute attr = GetAttribute(assembly); if (attr.IsMultiScript) { result = new MultiScriptAssembly(); } else { result = new SingleScriptAssembly(); } result.namespacing = attr.Namespacing; result.module = GetModule(assembly); result.LoadedFromAssembly(assembly); return(result); }
protected override ScriptBuilder GetEntryScriptBuilder() { return((ScriptBuilder)MultiScriptAssembly.GetModule(entryPoint)); }
/// <summary> /// Loads a script assembly using a specified CLR assembly. /// </summary> /// <param name="assembly">The assembly to be reflected.</param> /// <returns>The script assembly.</returns> /// <exception cref="InvalidScriptAssemblyException">The assembly is invalid.</exception> public static ScriptAssembly LoadFromAssembly(Assembly/*!*/ assembly) { Debug.Assert(assembly != null); ScriptAssembly result; ScriptAssemblyAttribute attr = GetAttribute(assembly); if (attr.IsMultiScript) result = new MultiScriptAssembly(); else result = new SingleScriptAssembly(); result.namespacing = attr.Namespacing; result.module = GetModule(assembly); result.LoadedFromAssembly(assembly); return result; }