private void SetThreadInformations() { var threadData = new ThreadData(Report.CallingAssembly, Report.DiagnosticStack); ThreadInformations = threadData.ThreadInformations; MainThread = threadData.MainThread; var sourceCodeData = new SourceCodeData(Report.DiagnosticStack); SourceCode = sourceCodeData.data.Any() ? sourceCodeData.data : null; }
//////////////////////////////////////////////////////////////// // Methods //////////////////////////////////////////////////////////////// /// <summary> /// Create the source code that is to be compiled. /// </summary> /// <param name="targetNameSpaceName"></param> /// <param name="targetClassName"></param> /// <returns></returns> public SourceCodeData CreateSourceContent(string filePath, object scriptObject, string targetNameSpaceName, string targetClassName) { SourceCodeData sourceCodeData = new SourceCodeData(); sourceCodeData.Append("using System;"); sourceCodeData.Append("using System.Text.RegularExpressions;"); sourceCodeData.Append("using System.IO;"); sourceCodeData.Append("using System.Collections.Generic;"); sourceCodeData.Append("using System.Linq;"); sourceCodeData.Append("using System.Text;"); sourceCodeData.Append("namespace " + targetNameSpaceName + " {"); sourceCodeData.Append("public class " + targetClassName + " {"); sourceCodeData.Append("public " + targetClassName + "() {}"); SourceFile sourceFile = (SourceFile)scriptObject; SrcMethod method = new SrcMethod("string", "Test", new SrcVariable("int", "something"), sourceFile.Text); method.WriteTo(sourceCodeData, "bla", -1); sourceCodeData.Append("}"); sourceCodeData.Append("}"); return(sourceCodeData); }