Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        ////////////////////////////////////////////////////////////////
        // 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);
        }