示例#1
0
        /// <summary>
        /// Compiles the assembly.
        /// </summary>
        /// <param name="assemblyCreator">The assembly creator to compile.</param>
        /// <returns>
        /// The <see cref="AssemblyClassInvoker"/> for the compiled assembly.
        /// </returns>
        protected override AssemblyClassInvoker CompileAssembly(JScriptAssemblyCreator assemblyCreator)
        {
            if (_rawMessagesOnly)
            {
                return(null);
            }

            return(base.CompileAssembly(assemblyCreator));
        }
        public void InvalidMethodTest()
        {
            var c = new JScriptAssemblyCreator {
                ClassName = "TestClass"
            };
            var i = c.Compile();

            Assert.Throws <MissingMethodException>(() => i.Invoke("asdf"));
        }
        public void InvokeEmptyMethodTest()
        {
            var c = new JScriptAssemblyCreator {
                ClassName = "TestClass"
            };

            c.AddMethod("TestM", "public", null, null, "");
            var i = c.Compile();

            i.Invoke("TestM");
        }
        public void InvokeAsStringWithParamsTest()
        {
            var c = new JScriptAssemblyCreator {
                ClassName = "TestClass"
            };

            c.AddMethod("TestM", "public", "String", "a", "return \"hi \" + a;");
            var i = c.Compile();

            Assert.AreEqual("hi loser", i.InvokeAsString("TestM", "loser"));
        }
        public void InvokeAsStringTest()
        {
            var c = new JScriptAssemblyCreator {
                ClassName = "TestClass"
            };

            c.AddMethod("TestM", "public", "String", null, "return \"hi\";");
            var i = c.Compile();

            Assert.AreEqual("hi", i.InvokeAsString("TestM"));
        }
        public void AddMethodOneParameterTest()
        {
            var c = new JScriptAssemblyCreator {
                ClassName = "TestClass"
            };

            c.AddMethod("TestM", "public", "String", "a", "return \"hi \" + a;");

            Assembly asm;

            c.Compile(out asm);

            Assert.IsNotNull(asm);
        }
        public void AddEmptyMethodTest()
        {
            var c = new JScriptAssemblyCreator {
                ClassName = "TestClass"
            };

            c.AddMethod("TestM", "public", null, null, "");

            Assembly asm;

            c.Compile(out asm);

            Assert.IsNotNull(asm);
        }
示例#8
0
        /// <summary>
        /// When overridden in the derived class, allows for additional code to be added to the generated JScript.
        /// </summary>
        /// <param name="file">The file that is being loaded.</param>
        /// <param name="assemblyCreator">The assembly creator.</param>
        protected override void LoadAdditionalJScriptMembers(string file, JScriptAssemblyCreator assemblyCreator)
        {
            // global.js
            var globalFile = GlobalJScriptFilePath;

            if (File.Exists(globalFile))
            {
                assemblyCreator.AddRawMember(File.ReadAllText(globalFile));
            }

            // language.js
            var languageFile = GetLanguageJScriptFile(file);

            if (File.Exists(languageFile))
            {
                assemblyCreator.AddRawMember(File.ReadAllText(languageFile));
            }

            base.LoadAdditionalJScriptMembers(file, assemblyCreator);
        }
示例#9
0
 /// <summary>
 /// When overridden in the derived class, allows for additional code to be added to the generated JScript.
 /// </summary>
 /// <param name="file">The file that is being loaded.</param>
 /// <param name="assemblyCreator">The assembly creator.</param>
 protected virtual void LoadAdditionalJScriptMembers(string file, JScriptAssemblyCreator assemblyCreator)
 {
 }
示例#10
0
 /// <summary>
 /// Compiles the assembly.
 /// </summary>
 /// <param name="assemblyCreator">The assembly creator to compile.</param>
 /// <returns>The <see cref="AssemblyClassInvoker"/> for the compiled assembly.</returns>
 protected virtual AssemblyClassInvoker CompileAssembly(JScriptAssemblyCreator assemblyCreator)
 {
     return(assemblyCreator.Compile());
 }