public override IEnumerable <IDeclaredType> GetSuperTypes()
        {
            var psiModule      = GetPsiModule();
            var predefinedType = psiModule.GetPredefinedType();
            var generated      = new[]
            {
                predefinedType.Object,
                predefinedType.IComparable,
                predefinedType.GenericIComparable,
                predefinedType.GenericIEquatable,
                FSharpPredefinedType.StructuralComparableTypeName.CreateTypeByClrName(psiModule),
                FSharpPredefinedType.StructuralEquatableTypeName.CreateTypeByClrName(psiModule)
            };

            var interfaces = base.GetSuperTypes().AsIList();

            if (interfaces.IsEmpty())
            {
                return(generated);
            }

            var result = new JetHashSet <IDeclaredType>(generated.Length + interfaces.Count);

            result.AddRange(generated);
            result.AddRange(interfaces);
            return(result);
        }
示例#2
0
        private UnityYamlSearchGuruId GetElementId([ItemNotNull] params string[] searchTerms)
        {
            var foundFiles = new JetHashSet <IPsiSourceFile>();

            foreach (var trigramIndex in myIndices)
            {
                // Search for files that contain ALL terms. We've already been filtered to files containing ANY term.
                // We can't check for word boundaries because the index requires a word to start with a letter, and we
                // can't guarantee that a guid will do so (and we search for "11500000", too)
                foundFiles.AddRange(trigramIndex.GetFilesContainingQueries(searchTerms));
            }
            return(new UnityYamlSearchGuruId(foundFiles));
        }
        private IEnumerable <IUnitTestElement> CollectElementsToRunInUnityEditor(IUnitTestRun firstRun)
        {
            var result = new JetHashSet <IUnitTestElement>();

            foreach (var unitTestRun in firstRun.Launch.Runs)
            {
                if (unitTestRun.RunStrategy.Equals(this))
                {
                    result.AddRange(unitTestRun.Elements);
                }
            }

            return(result.ToList());
        }