Example #1
0
        // Protected Methods 

        protected void RaiseOnAssemblyResolve(AssemblySandbox loader)
        {
            Console.WriteLine("Raised 1");
            if (OnAssemblyResolve == null)
            {
                return;
            }
            Console.WriteLine("Raised 2");
            OnAssemblyResolve(loader, null);
        }
Example #2
0
 public Proxy(AssemblySandbox sandbox)
     : base(null)
 {
     _sandbox           = sandbox;
     OnAssemblyResolve += (s, a) =>
     {
         Console.WriteLine("I am in proxy");
         RaiseOnAssemblyResolve(_sandbox);
         return(null);
     };
 }
Example #3
0
        /*
         *      public void DisplayRef(string title)
         *      {
         *          Console.WriteLine(" ==== " + title);
         *          foreach (var i in Project.MetadataReferences)
         *              Console.WriteLine("  MetadataReference {0}", i.Display);
         *          foreach (var i in Project.ProjectReferences)
         *              Console.WriteLine("  ProjectReferences {0}", i.ProjectId);
         *      }
         */

        /// <summary>
        /// Runs C# project compilation and fills <see cref="ProjectCompilation">ProjectCompilation</see>
        /// and <see cref="CompiledAssembly">CompiledAssembly</see>.
        /// </summary>
        /// <param name="sandbox"></param>
        /// <param name="dllFilename"></param>
        /// <returns></returns>
        public EmitResult CompileCSharpProject(AssemblySandbox sandbox, string dllFilename)
        {
            // must be public !!!!!!!!!!
            _projectCompilation = _cSharpProject.GetCompilationAsync().Result;
            _projectCompilation =
                _projectCompilation.WithOptions(new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary));
            _projectCompilation = _projectCompilation.WithReferences(_cSharpProject.MetadataReferences);
            foreach (var i in _projectCompilation.References)
            {
                Console.WriteLine("   linked with {0}", i.Display);
            }
            EmitResult result;

            var tmp = sandbox.EmitCompiledAssembly(_projectCompilation, out result, dllFilename);

            _compiledAssembly = tmp != null ? tmp.WrappedAssembly : null;
            return(result);
        }
Example #4
0
        /*
         * /// <summary>
         * /// Tworzy instancję obiektu
         * /// </summary>
         * public TranslationInfo()
         * {
         * }
         * Przykłady użycia
         * implement INotifyPropertyChanged
         * implement INotifyPropertyChanged_Passive
         * implement ToString ##Sandbox## ##CurrentAssembly## ##CurrentType## ##CurrentMethod## ##Compiled## ##TranslationAssemblies## ##NodeTranslators## ##ModuleProcessors## ##ClassTranslations## ##AssemblyTranslations## ##FieldTranslations## ##State## ##KnownConstsValues## ##Logs##
         * implement ToString Sandbox=##Sandbox##, CurrentAssembly=##CurrentAssembly##, CurrentType=##CurrentType##, CurrentMethod=##CurrentMethod##, Compiled=##Compiled##, TranslationAssemblies=##TranslationAssemblies##, NodeTranslators=##NodeTranslators##, ModuleProcessors=##ModuleProcessors##, ClassTranslations=##ClassTranslations##, AssemblyTranslations=##AssemblyTranslations##, FieldTranslations=##FieldTranslations##, State=##State##, KnownConstsValues=##KnownConstsValues##, Logs=##Logs##
         * implement equals Sandbox, CurrentAssembly, CurrentType, CurrentMethod, Compiled, TranslationAssemblies, NodeTranslators, ModuleProcessors, ClassTranslations, AssemblyTranslations, FieldTranslations, State, KnownConstsValues, Logs
         * implement equals *
         * implement equals *, ~exclude1, ~exclude2
         */


        #region Constructors
        /// <summary>
        /// Tworzy instancję obiektu
        /// <param name="sandbox"></param>
        /// </summary>
        public TranslationInfo(AssemblySandbox sandbox)
        {
            _sandbox = sandbox;
        }
Example #5
0
        /*
        /// <summary>
        /// Tworzy instancję obiektu
        /// </summary>
        public TranslationInfo()
        {
        }
        Przykłady użycia
        implement INotifyPropertyChanged
        implement INotifyPropertyChanged_Passive
        implement ToString ##Sandbox## ##CurrentAssembly## ##CurrentType## ##CurrentMethod## ##Compiled## ##TranslationAssemblies## ##NodeTranslators## ##ModuleProcessors## ##ClassTranslations## ##AssemblyTranslations## ##FieldTranslations## ##State## ##KnownConstsValues## ##Logs##
        implement ToString Sandbox=##Sandbox##, CurrentAssembly=##CurrentAssembly##, CurrentType=##CurrentType##, CurrentMethod=##CurrentMethod##, Compiled=##Compiled##, TranslationAssemblies=##TranslationAssemblies##, NodeTranslators=##NodeTranslators##, ModuleProcessors=##ModuleProcessors##, ClassTranslations=##ClassTranslations##, AssemblyTranslations=##AssemblyTranslations##, FieldTranslations=##FieldTranslations##, State=##State##, KnownConstsValues=##KnownConstsValues##, Logs=##Logs##
        implement equals Sandbox, CurrentAssembly, CurrentType, CurrentMethod, Compiled, TranslationAssemblies, NodeTranslators, ModuleProcessors, ClassTranslations, AssemblyTranslations, FieldTranslations, State, KnownConstsValues, Logs
        implement equals *
        implement equals *, ~exclude1, ~exclude2
        */


        #region Constructors
        /// <summary>
        /// Tworzy instancję obiektu
        /// <param name="sandbox"></param>
        /// </summary>
        public TranslationInfo(AssemblySandbox sandbox)
        {
            _sandbox = sandbox;
        }
Example #6
0
        /*
                public void DisplayRef(string title)
                {
                    Console.WriteLine(" ==== " + title);
                    foreach (var i in Project.MetadataReferences)
                        Console.WriteLine("  MetadataReference {0}", i.Display);
                    foreach (var i in Project.ProjectReferences)
                        Console.WriteLine("  ProjectReferences {0}", i.ProjectId);
                }
        */

        /// <summary>
        /// Runs C# project compilation and fills <see cref="ProjectCompilation">ProjectCompilation</see>
        /// and <see cref="CompiledAssembly">CompiledAssembly</see>.
        /// </summary>
        /// <param name="sandbox"></param>
        /// <param name="dllFilename"></param>
        /// <returns></returns>
        public EmitResult CompileCSharpProject(AssemblySandbox sandbox, string dllFilename)
        {
            // must be public !!!!!!!!!!
            _projectCompilation = _cSharpProject.GetCompilationAsync().Result;
            _projectCompilation =
                _projectCompilation.WithOptions(new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary));
            _projectCompilation = _projectCompilation.WithReferences(_cSharpProject.MetadataReferences);
            foreach (var i in _projectCompilation.References)
                Console.WriteLine("   linked with {0}", i.Display);
            EmitResult result;

            var tmp = sandbox.EmitCompiledAssembly(_projectCompilation, out result, dllFilename);
            _compiledAssembly = tmp != null ? tmp.WrappedAssembly : null;
            return result;
        }
Example #7
0
 public Proxy(AssemblySandbox sandbox)
     : base(null)
 {
     _sandbox = sandbox;
     OnAssemblyResolve += (s, a) =>
     {
         Console.WriteLine("I am in proxy");
         RaiseOnAssemblyResolve(_sandbox);
         return null;
     };
 }
Example #8
0
        // Protected Methods 

        protected void RaiseOnAssemblyResolve(AssemblySandbox loader)
        {
            Console.WriteLine("Raised 1");
            if (OnAssemblyResolve == null) return;
            Console.WriteLine("Raised 2");
            OnAssemblyResolve(loader, null);
        }