CompileSend() public method

public CompileSend ( string msgname ) : void
msgname string
return void
Beispiel #1
0
        public void CompileAndExecuteNewDotNetObject()
        {
            Block block;

            block = new Block();
            block.CompileGetDotNetType("System.IO.FileInfo");
            block.CompileGetConstant("FooBar.txt");
            block.CompileSend("!new:");
            block.CompileByteCode(ByteCode.ReturnPop);

            object obj = block.Execute(null, null);

            Assert.IsNotNull(obj);
            Assert.IsInstanceOfType(obj, typeof(System.IO.FileInfo));
        }
Beispiel #2
0
        public void DecompileSendKeywordWithTwoArgument()
        {
            Block block = new Block();
            block.CompileSend("foo:with:");
            BlockDecompiler decompiler = new BlockDecompiler(block);

            var result = decompiler.Decompile();

            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("Send foo:with: 2", result[0]);
        }
Beispiel #3
0
        public void DecompileSendUnary()
        {
            Block block = new Block();
            block.CompileSend("foo");
            BlockDecompiler decompiler = new BlockDecompiler(block);

            var result = decompiler.Decompile();

            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("Send foo 0", result[0]);
        }
Beispiel #4
0
        public void DecompileSendBinaryOperator()
        {
            Block block = new Block();
            block.CompileSend("+");
            BlockDecompiler decompiler = new BlockDecompiler(block);

            var result = decompiler.Decompile();

            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("Send + 1", result[0]);
        }