当前位置: 首页>>代码示例>>C#>>正文


C# IAnalysisSet.Union方法代码示例

本文整理汇总了C#中IAnalysisSet.Union方法的典型用法代码示例。如果您正苦于以下问题:C# IAnalysisSet.Union方法的具体用法?C# IAnalysisSet.Union怎么用?C# IAnalysisSet.Union使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IAnalysisSet的用法示例。


在下文中一共展示了IAnalysisSet.Union方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: TryInvokeMethod

 private bool TryInvokeMethod(Node node, AnalysisUnit unit, string name, IAnalysisSet[] args, out IAnalysisSet res) {
     res = AnalysisSet.Empty;
     bool invoked = false;
     var members = GetTypeMember(node, unit, name);
     foreach (var member in members) {
         if (ShouldInvokeMethod(member, name)) {
             invoked = true;
             res = res.Union(
                 member.Call(
                     node,
                     unit,
                     args,
                     ExpressionEvaluator.EmptyNames
                 )
             );
         }
     }
     return invoked;
 }
开发者ID:RussBaz,项目名称:PTVS,代码行数:19,代码来源:SpecializedInstanceInfo.cs

示例2: TestImmutableSet

        private static void TestImmutableSet(IAnalysisSet emptySet) {
            int count = emptySet.Count;

            var projectEntry = CreateProjectEntry();
            var value = new TestAnalysisValue(projectEntry);

            var newSet = emptySet.Add(value.Proxy);
            Assert.AreNotEqual(emptySet, newSet);
            Assert.AreEqual(count, emptySet.Count);
            Assert.AreEqual(count + 1, newSet.Count);

            bool wasChanged;
            newSet = emptySet.Add(value.Proxy, out wasChanged);
            Assert.AreNotEqual(emptySet, newSet);
            Assert.IsTrue(wasChanged);
            Assert.AreEqual(count, emptySet.Count);
            Assert.AreEqual(count + 1, newSet.Count);

            newSet = emptySet.Union(new[] { value.Proxy });
            Assert.AreNotEqual(emptySet, newSet);
            Assert.AreEqual(count, emptySet.Count);
            Assert.AreEqual(count + 1, newSet.Count);

            newSet = emptySet.Union(new[] { value.Proxy }, out wasChanged);
            Assert.IsTrue(wasChanged);
            Assert.AreNotEqual(emptySet, newSet);
            Assert.AreEqual(count, emptySet.Count);
            Assert.AreEqual(count + 1, newSet.Count);

            Assert.AreEqual(emptySet, emptySet.Clone());

            Assert.IsFalse(emptySet.Contains(value.Proxy));
        }
开发者ID:CforED,项目名称:Node.js-Tools-for-Visual-Studio,代码行数:33,代码来源:AnalysisHashSetTests.cs

示例3: IsSpecialRequire

        private static bool IsSpecialRequire(AnalysisUnit unit, CallNode n, ref IAnalysisSet res) {
            bool hitLiteral = false;
            if (n.Arguments.Length == 1) {
                var ee = new ExpressionEvaluator(unit);

                foreach (var name in ee.MergeStringLiterals(n.Arguments[0])) {
                    hitLiteral = true;
                    res = res.Union(
                        unit.Analyzer.Modules.RequireModule(
                            n,
                            unit,
                            name,
                            unit.DeclaringModuleEnvironment.Name
                        )
                    );
                }
            }

            return hitLiteral;
        }
开发者ID:mauricionr,项目名称:nodejstools,代码行数:20,代码来源:GlobalBuilder.cs


注:本文中的IAnalysisSet.Union方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。