/// <summary> /// Performs the compilation. /// </summary> /// <param name="parameters">Parameters that already contain the source files/streams to compile.</param> /// <param name="options">The options specified by CodeCom user.</param> /// <returns>The compiler results.</returns> private CompilerResults /*!*/ Compile(CompilationParameters /*!*/ parameters, CompilerParameters /*!*/ options) { // translate options to parameters SetupCompilerParameters(parameters, options); // set up compiler results CompilerResults results = new CompilerResults(options.TempFiles); // J: SecurityAction.LinkDemand, "FullTrust" CodeDomErrorSink error_sink = new CodeDomErrorSink(results); results.Output.Add("Phalanger - the PHP Language Compiler - commencing compilation in a separate appdomain"); results.Output.Add("Source files to compile:"); for (int i = 0; i < parameters.SourcePaths.Count; i++) { results.Output.Add(parameters.SourcePaths[i].ToString()); } // compile the files/streams in a separate appdomain AppCompilerStack.Compile(error_sink, parameters); // set up the compiler results results.PathToAssembly = parameters.OutPath.ToString(); results.NativeCompilerReturnValue = (results.Errors.HasErrors ? 1 : 0); // J: obsolete, FullTrust demanded earlier //new SecurityPermission(SecurityPermissionFlag.ControlEvidence).Assert(); //try //{ // results.Evidence = options.Evidence; // J: SecurityAction.LinkDemand, "FullTrust" // same as CompilerResults above //} //finally //{ // CodeAccessPermission.RevertAssert(); //} return(results); }
/// <summary> /// Performs the compilation. /// </summary> /// <param name="parameters">Parameters that already contain the source files/streams to compile.</param> /// <param name="options">The options specified by CodeCom user.</param> /// <returns>The compiler results.</returns> private CompilerResults/*!*/ Compile(CompilationParameters/*!*/ parameters, CompilerParameters/*!*/ options) { // translate options to parameters SetupCompilerParameters(parameters, options); // set up compiler results CompilerResults results = new CompilerResults(options.TempFiles); // J: SecurityAction.LinkDemand, "FullTrust" CodeDomErrorSink error_sink = new CodeDomErrorSink(results); results.Output.Add("Phalanger - the PHP Language Compiler - commencing compilation in a separate appdomain"); results.Output.Add("Source files to compile:"); for (int i = 0; i < parameters.SourcePaths.Count; i++) { results.Output.Add(parameters.SourcePaths[i].ToString()); } // compile the files/streams in a separate appdomain AppCompilerStack.Compile(error_sink, parameters); // set up the compiler results results.PathToAssembly = parameters.OutPath.ToString(); results.NativeCompilerReturnValue = (results.Errors.HasErrors ? 1 : 0); // J: obsolete, FullTrust demanded earlier //new SecurityPermission(SecurityPermissionFlag.ControlEvidence).Assert(); //try //{ // results.Evidence = options.Evidence; // J: SecurityAction.LinkDemand, "FullTrust" // same as CompilerResults above //} //finally //{ // CodeAccessPermission.RevertAssert(); //} return results; }