コード例 #1
0
ファイル: ModuleTests.cs プロジェクト: nbsn2/Llvm.NET
        public void AddAliasGetAliasTest( )
        {
            using (var context = new Context( ))
                using (var module = new BitcodeModule(context, TestModuleName))
                {
                    Function testFunc = CreateSimpleVoidNopTestFunction(module, "_test");

                    var alias = module.AddAlias(testFunc, TestModuleName);
                    Assert.AreSame(alias, module.GetAlias(TestModuleName));
                    Assert.AreSame(module, alias.ParentModule);
                    Assert.AreSame(testFunc, alias.Aliasee);
                    Assert.AreEqual(TestModuleName, alias.Name);
                    Assert.AreEqual(Linkage.External, alias.Linkage);
                    Assert.AreSame(testFunc.NativeType, alias.NativeType);

                    // alias.Operands[ 0 ] is just another way to get alias.Aliasee
                    Assert.AreEqual(1, alias.Operands.Count);
                    Assert.AreSame(testFunc, alias.Operands[0]);

                    Assert.IsFalse(alias.IsNull);
                    Assert.IsFalse(alias.IsUndefined);
                    Assert.IsFalse(alias.IsZeroValue);
                }
        }