Ejemplo n.º 1
0
        private static ImmutableHashSet <string> LoadWhitelist(
            string whitelistFileName,
            ImmutableArray <AdditionalText> additionalFiles
            )
        {
            ImmutableHashSet <string> .Builder whitelist = ImmutableHashSet.CreateBuilder(
                StringComparer.Ordinal
                );

            AdditionalText whitelistFile = additionalFiles.FirstOrDefault(
                file => Path.GetFileName(file.Path) == whitelistFileName
                );

            if (whitelistFile == null)
            {
                return(whitelist.ToImmutableHashSet());
            }

            SourceText whitelistText = whitelistFile.GetText();

            foreach (TextLine line in whitelistText.Lines)
            {
                whitelist.Add(line.ToString().Trim());
            }

            return(whitelist.ToImmutableHashSet());
        }
        private static ImmutableHashSet <string> LoadBannedCategoriesList(
            AnalyzerOptions options
            )
        {
            ImmutableHashSet <string> .Builder bannedList = ImmutableHashSet.CreateBuilder(
                StringComparer.Ordinal
                );

            AdditionalText bannedListFile = options.AdditionalFiles.FirstOrDefault(
                file => Path.GetFileName(file.Path) == "BannedTestCategoriesList.txt"
                );

            if (bannedListFile == null)
            {
                return(bannedList.ToImmutableHashSet());
            }

            SourceText allowedListText = bannedListFile.GetText();

            foreach (TextLine line in allowedListText.Lines)
            {
                bannedList.Add(line.ToString().Trim());
            }

            return(bannedList.ToImmutableHashSet());
        }
        private IProjectChangeDiff ConvertToProjectDiff(BuildOptions added, BuildOptions removed)
        {
            var addedSet   = ImmutableHashSet.ToImmutableHashSet(GetFilePaths(added), StringComparers.Paths);
            var removedSet = ImmutableHashSet.ToImmutableHashSet(GetFilePaths(removed), StringComparers.Paths);

            return(new ProjectChangeDiff(addedSet, removedSet));
        }
            public PropertySetDataFlowOperationVisitor(PropertySetAnalysisContext analysisContext)
                : base(analysisContext)
            {
                Debug.Assert(analysisContext.PointsToAnalysisResultOpt != null);

                this._hazardousUsageBuilder = ImmutableDictionary.CreateBuilder <(Location Location, IMethodSymbol?Method), HazardousUsageEvaluationResult>();

                this._visitedLocalFunctions = ImmutableHashSet.CreateBuilder <IMethodSymbol>();

                this._visitedLambdas = ImmutableHashSet.CreateBuilder <IFlowAnonymousFunctionOperation>();

                ImmutableHashSet <INamedTypeSymbol> .Builder builder = ImmutableHashSet.CreateBuilder <INamedTypeSymbol>();
                foreach (string typeToTrackMetadataName in analysisContext.TypeToTrackMetadataNames)
                {
                    if (this.WellKnownTypeProvider.TryGetOrCreateTypeByMetadataName(typeToTrackMetadataName, out INamedTypeSymbol? trackedTypeSymbol))
                    {
                        builder.Add(trackedTypeSymbol);
                    }
                }

                TrackedTypeSymbols = builder.ToImmutableHashSet();
                Debug.Assert(this.TrackedTypeSymbols.Any());

                if (this.DataFlowAnalysisContext.HazardousUsageEvaluators.TryGetInitializationHazardousUsageEvaluator(out _))
                {
                    this.TrackedFieldPropertyAssignments = PooledDictionary <AnalysisEntity, TrackedAssignmentData> .GetInstance();
                }
            }
        private static IImmutableSet <ISymbol> GetDangerousProperties(Compilation compilation)
        {
            ImmutableHashSet <ISymbol> .Builder builder = ImmutableHashSet.CreateBuilder <ISymbol>();

            foreach (KeyValuePair <string, ImmutableArray <string> > pairs in DangerousProperties.Definitions)
            {
                INamedTypeSymbol type = compilation.GetTypeByMetadataName(pairs.Key);
                if (type != null)
                {
                    foreach (string name in pairs.Value)
                    {
                        IEnumerable <ISymbol> properties = type
                                                           .GetMembers(name)
                                                           .Where(m => (m.Kind == SymbolKind.Property));

                        foreach (ISymbol property in properties)
                        {
                            builder.Add(property);
                        }
                    }
                }
            }

            return(builder.ToImmutableHashSet());
        }
Ejemplo n.º 6
0
 private static ImmutableHashSet <string> InitializeMimeTypesSet(ImmutableArray <ImmutableArray <string> > extensionsTable)
 {
     ImmutableHashSet <string> .Builder builder = ImmutableHashSet.CreateBuilder <string>();
     foreach (ImmutableArray <string> tableEntry in extensionsTable)
     {
         builder.Add(tableEntry[0]);
     }
     return(builder.ToImmutableHashSet <string>());
 }
Ejemplo n.º 7
0
 private SpellingData(
     WordList words,
     WordList caseSensitiveWords,
     FixList fixes,
     ImmutableHashSet <string> ignoredValues)
 {
     Words = words;
     CaseSensitiveWords = caseSensitiveWords;
     Fixes         = fixes ?? FixList.Empty;
     IgnoredValues = ignoredValues.ToImmutableHashSet(StringComparer.InvariantCulture);
 }
Ejemplo n.º 8
0
 public void FastFilterShouldThrowExceptionForUnsupportedOperatorOperationCombination()
 {
     ImmutableHashSet <string> .Builder filterHashSetBuilder = ImmutableHashSet.CreateBuilder <string>();
     try
     {
         var filter = new FastFilter("dummyName", filterHashSetBuilder.ToImmutableHashSet(), Operation.Equal, Operator.And);
     }
     catch (Exception ex)
     {
         Assert.IsTrue(ex is ArgumentException);
         Assert.AreEqual("An error occured while creating Fast filter.", ex.Message);
     }
 }
        private static ImmutableHashSet <string> GetAllowedList(
            ImmutableArray <AdditionalText> additionalFiles
            )
        {
            ImmutableHashSet <string> .Builder allowedClasses = ImmutableHashSet.CreateBuilder <string>();

            AdditionalText allowedListFile = additionalFiles.FirstOrDefault(
                file => Path.GetFileName(file.Path) == AllowedListFileName
                );

            if (allowedListFile == null)
            {
                return(allowedClasses.ToImmutableHashSet());
            }

            SourceText allowedListText = allowedListFile.GetText();

            foreach (TextLine line in allowedListText.Lines)
            {
                allowedClasses.Add(line.ToString().Trim());
            }

            return(allowedClasses.ToImmutableHashSet());
        }
Ejemplo n.º 10
0
        private ImmutableHashSet <string> GetWhitelist(
            ImmutableArray <AdditionalText> additionalFiles
            )
        {
            ImmutableHashSet <string> .Builder whitelistedClasses = ImmutableHashSet.CreateBuilder <string>();

            AdditionalText whitelistFile = additionalFiles.FirstOrDefault(
                file => Path.GetFileName(file.Path) == WhitelistFileName
                );

            if (whitelistFile == null)
            {
                return(whitelistedClasses.ToImmutableHashSet());
            }

            SourceText whitelistText = whitelistFile.GetText();

            foreach (TextLine line in whitelistText.Lines)
            {
                whitelistedClasses.Add(line.ToString().Trim());
            }

            return(whitelistedClasses.ToImmutableHashSet());
        }
        public void ToImmutableHashSet()
        {
            ImmutableHashSet <int> .Builder builder = ImmutableHashSet.CreateBuilder <int>();
            builder.Add(1);
            builder.Add(2);
            builder.Add(3);

            var set = builder.ToImmutableSortedSet();

            Assert.True(builder.Contains(1));
            Assert.True(builder.Contains(2));
            Assert.True(builder.Contains(3));

            builder.Remove(3);
            Assert.False(builder.Contains(3));
            Assert.True(set.Contains(3));

            builder.Clear();
            Assert.True(builder.ToImmutableHashSet().IsEmpty);
            Assert.False(set.IsEmpty);

            ImmutableHashSet <int> .Builder nullBuilder = null;
            AssertExtensions.Throws <ArgumentNullException>("builder", () => nullBuilder.ToImmutableHashSet());
        }
Ejemplo n.º 12
0
        static Material()
        {
            resourceManager            = Properties.Materials.ResourceManager;
            resourceManager.IgnoreCase = false;
            missingEDNameHandler       = (edname) => new Material(edname, MaterialCategory.Unknown, Rarity.Unknown);

            // The below percentages are calculated by finding the top percentage ever found on a body for a given material,
            // then taking 90% of that value as a definition for a `great` percentage and by taking 75% of that value as a `good` percentage.
            // The data used to generate the current values are located at https://docs.google.com/spreadsheets/d/1UcgHvnDF-lYYPD7PNkT_g7B1dr9lBBkVPPlL51ITrz4

            // Grade 1, Very Common
            var Carbon     = new Material("carbon", Element, VeryCommon, "C", 24.6M, 29.5M);
            var Iron       = new Material("iron", Element, VeryCommon, "Fe", 36.4M, 43.6M);
            var Lead       = new Material("lead", Element, VeryCommon, "Pb", null, null);
            var Nickel     = new Material("nickel", Element, VeryCommon, "Ni", 27.6M, 33.2M);
            var Phosphorus = new Material("phosphorus", Element, VeryCommon, "P", 15.7M, 18.9M);
            var Rhenium    = new Material("rhenium", Element, VeryCommon, "Re", null, null);
            var Sulphur    = new Material("sulphur", Element, VeryCommon, "S", 29.2M, 35.1M);

            // Grade 2, Common
            var Arsenic   = new Material("arsenic", Element, Common, "As", 2.3M, 2.7M);
            var Chromium  = new Material("chromium", Element, Common, "Cr", 14.0M, 16.8M);
            var Germanium = new Material("germanium", Element, Common, "Ge", 4.9M, 5.9M);
            var Manganese = new Material("manganese", Element, Common, "Mn", 13.0M, 15.6M);
            var Vanadium  = new Material("vanadium", Element, Common, "V", 8.3M, 10M);
            var Zinc      = new Material("zinc", Element, Common, "Zn", 9.2M, 11.1M);
            var Zirconium = new Material("zirconium", Element, Common, "Zr", 4.2M, 5.0M);

            // Grade 3, Standard
            var Boron      = new Material("boron", Element, Standard, "B", null, null);
            var Cadmium    = new Material("cadmium", Element, Standard, "Cd", 2.8M, 3.4M);
            var Mercury    = new Material("mercury", Element, Standard, "Hg", 1.6M, 1.9M);
            var Molybdenum = new Material("molybdenum", Element, Standard, "Mo", 2.4M, 2.9M);
            var Niobium    = new Material("niobium", Element, Standard, "Nb", 2.5M, 3.0M);
            var Tin        = new Material("tin", Element, Standard, "Sn", 2.4M, 2.9M);
            var Tungsten   = new Material("tungsten", Element, Standard, "W", 2.0M, 2.4M);

            // Grade 4, Rare
            var Ruthenium  = new Material("ruthenium", Element, Rare, "Ru", 2.2M, 2.7M);
            var Selenium   = new Material("selenium", Element, Rare, "Se", 4.5M, 5.4M);
            var Technetium = new Material("technetium", Element, Rare, "Tc", 1.3M, 1.6M);
            var Tellurium  = new Material("tellurium", Element, Rare, "Te", 1.3M, 1.6M);
            var Yttrium    = new Material("yttrium", Element, Rare, "Y", 2.2M, 2.6M);
            var Antimony   = new Material("antimony", Element, Rare, "Sb", 1.4M, 1.6M); // Rare per Material Trader UI and FDev spreadsheet but very rare per in-game right panel description.
            var Polonium   = new Material("polonium", Element, Rare, "Po", 1.1M, 1.3M); // Rare per Material Trader UI and FDev spreadsheet but very rare per in-game right panel description.

            ///<summary>Data</summary>

            // Grade 1, Very Common
            var AnomalousBulkScanData            = new Material("bulkscandata", Data, VeryCommon);
            var AtypicalDisruptedWakeEchoes      = new Material("disruptedwakeechoes", Data, VeryCommon);
            var DistortedShieldCycleRecordings   = new Material("shieldcyclerecordings", Data, VeryCommon);
            var ExceptionalScrambledEmissionData = new Material("scrambledemissiondata", Data, VeryCommon);
            var SpecialisedLegacyFirmware        = new Material("legacyfirmware", Data, VeryCommon);
            var UnusualEncryptedFiles            = new Material("encryptedfiles", Data, VeryCommon);

            // Grade 2, Common
            var AnomalousFSDTelemetry          = new Material("fsdtelemetry", Data, Common);
            var InconsistentShieldSoakAnalysis = new Material("shieldsoakanalysis", Data, Common);
            var IrregularEmissionData          = new Material("archivedemissiondata", Data, Common);
            var ModifiedConsumerFirmware       = new Material("consumerfirmware", Data, Common);
            var TaggedEncryptionCodes          = new Material("encryptioncodes", Data, Common);
            var UnidentifiedScanArchives       = new Material("scanarchives", Data, Common);
            // Grade 2 Xeno
            var Tg_StructuralData = new Material("tg_structuraldata", Data, Common);

            // Grade 3, Standard
            var ClassifiedScanDatabanks   = new Material("scandatabanks", Data, Standard);
            var CrackedIndustrialFirmware = new Material("industrialfirmware", Data, Standard);
            var OpenSymmetricKeys         = new Material("symmetrickeys", Data, Standard);
            var StrangeWakeSolutions      = new Material("wakesolutions", Data, Standard);
            var UnexpectedEmissionData    = new Material("emissiondata", Data, Standard);
            var UntypicalShieldScans      = new Material("shielddensityreports", Data, Standard);
            // Grade 3 Xeno
            var Tg_CompositionData   = new Material("tg_compositiondata", Data, Standard);
            var UnknownShipSignature = new Material("unknownshipsignature", Data, Standard);

            // Grade 4, Rare
            var AberrantShieldPatternAnalysis   = new Material("shieldpatternanalysis", Data, Rare);
            var AtypicalEncryptionArchives      = new Material("encryptionarchives", Data, Rare);
            var DecodedEmissionData             = new Material("decodedemissiondata", Data, Rare);
            var DivergentScanData               = new Material("encodedscandata", Data, Rare);
            var EccentricHyperspaceTrajectories = new Material("hyperspacetrajectories", Data, Rare);
            var SecurityFirmwarePatch           = new Material("securityfirmware", Data, Rare);
            // Grade 4 Xeno
            var AncientHistoricalData    = new Material("ancienthistoricaldata", Data, Rare);     // Rare per FDev spreadsheet but very common per in-game right panel description.
            var AncientCulturalData      = new Material("ancientculturaldata", Data, Common);     // Rare per FDev spreadsheet but common per in-game right panel description.
            var AncientBiologicalData    = new Material("ancientbiologicaldata", Data, Standard); // Rare per FDev spreadsheet but standard per in-game right panel description.
            var AncientLanguageData      = new Material("ancientlanguagedata", Data, Rare);
            var AncientTechnologicalData = new Material("ancienttechnologicaldata", Data, Rare);
            var Tg_ShipFlightData        = new Material("tg_shipflightdata", Data, Rare);
            var Tg_ShipSystemData        = new Material("tg_shipsystemsdata", Data, Rare);
            var Tg_ResidueData           = new Material("tg_residuedata", Data, Rare);
            var UnknownWakeScan          = new Material("unknownwakedata", Data, Rare);
            var Guardian_WeaponBlueprint = new Material("guardian_weaponblueprint", Data, Rare);
            var Guardian_ModuleBlueprint = new Material("guardian_moduleblueprint", Data, Rare);

            // Grade 5, Very Rare
            var AbnormalCompactEmissionData = new Material("compactemissionsdata", Data, VeryRare);
            var AdaptiveEncryptorsCapture   = new Material("adaptiveencryptors", Data, VeryRare);
            var ClassifiedScanFragment      = new Material("classifiedscandata", Data, VeryRare);
            var DataminedWakeExceptions     = new Material("dataminedwake", Data, VeryRare);
            var ModifiedEmbeddedFirmware    = new Material("embeddedfirmware", Data, VeryRare);
            var PeculiarShieldFrequencyData = new Material("shieldfrequencydata", Data, VeryRare);
            // Grade 5 Xeno
            var Guardian_VesselBlueprint = new Material("guardian_vesselblueprint", Data, VeryRare);

            ///<summary>Manufactured</summary>

            // Grade 1, Very Common
            var BasicConductors      = new Material("basicconductors", Manufactured, VeryCommon);
            var ChemicalStorageUnits = new Material("chemicalstorageunits", Manufactured, VeryCommon);
            var CompactComposites    = new Material("compactcomposites", Manufactured, VeryCommon);
            var CrystalShards        = new Material("crystalshards", Manufactured, VeryCommon);
            var GridResistors        = new Material("gridresistors", Manufactured, VeryCommon);
            var HeatConductionWiring = new Material("heatconductionwiring", Manufactured, VeryCommon);
            var MechanicalScrap      = new Material("mechanicalscrap", Manufactured, VeryCommon);
            var SalvagedAlloys       = new Material("salvagedalloys", Manufactured, VeryCommon);
            var TemperedAlloys       = new Material("temperedalloys", Manufactured, VeryCommon);
            var WornShieldEmitters   = new Material("wornshieldemitters", Manufactured, VeryCommon);
            // Grade 1 Xeno
            var Guardian_PowerCell = new Material("guardian_powercell", Manufactured, VeryCommon);
            var Guardian_Sentinel_WreckageComponents = new Material("guardian_sentinel_wreckagecomponents", Manufactured, VeryCommon);

            // Grade 2, Common
            var ChemicalProcessors    = new Material("chemicalprocessors", Manufactured, Common);
            var ConductiveComponents  = new Material("conductivecomponents", Manufactured, Common);
            var FilamentComposites    = new Material("filamentcomposites", Manufactured, Common);
            var FlawedFocusCrystals   = new Material("uncutfocuscrystals", Manufactured, Common);
            var GalvanisingAlloys     = new Material("galvanisingalloys", Manufactured, Common);
            var HeatDispersionPlate   = new Material("heatdispersionplate", Manufactured, Common);
            var HeatResistantCeramics = new Material("heatresistantceramics", Manufactured, Common);
            var HybridCapacitors      = new Material("hybridcapacitors", Manufactured, Common);
            var MechanicalEquipment   = new Material("mechanicalequipment", Manufactured, Common);
            var ShieldEmitters        = new Material("shieldemitters", Manufactured, Common);
            // Grade 2 Xeno
            var Guardian_PowerConduit = new Material("guardian_powerconduit", Manufactured, Common);
            var UnknownCarapace       = new Material("unknowncarapace", Manufactured, Common);

            // Grade 3, Standard
            var ChemicalDistillery    = new Material("chemicaldistillery", Manufactured, Standard);
            var ConductiveCeramics    = new Material("conductiveceramics", Manufactured, Standard);
            var ElectrochemicalArrays = new Material("electrochemicalarrays", Manufactured, Standard);
            var FocusCrystals         = new Material("focuscrystals", Manufactured, Standard);
            var HeatExchangers        = new Material("heatexchangers", Manufactured, Standard);
            var HighDensityComposites = new Material("highdensitycomposites", Manufactured, Standard);
            var MechanicalComponents  = new Material("mechanicalcomponents", Manufactured, Standard);
            var PhaseAlloys           = new Material("phasealloys", Manufactured, Standard);
            var PrecipitatedAlloys    = new Material("precipitatedalloys", Manufactured, Standard);
            var ShieldingSensors      = new Material("shieldingsensors", Manufactured, Standard);
            // Grade 3 Xeno
            var Tg_BiomechanicalConduits      = new Material("tg_biomechanicalconduits", Manufactured, Standard);
            var Guardian_Sentinel_WeaponParts = new Material("guardian_sentinel_weaponparts", Manufactured, Standard);
            var Guardian_TechComponent        = new Material("guardian_techcomponent", Manufactured, Standard);
            var UnknownEnergyCell             = new Material("unknownenergycell", Manufactured, Standard);
            var Tg_WreckageComponents         = new Material("tg_wreckagecomponents", Manufactured, Standard);

            // Grade 4, Rare
            var ChemicalManipulators   = new Material("chemicalmanipulators", Manufactured, Rare);
            var CompoundShielding      = new Material("compoundshielding", Manufactured, Rare);
            var ConductivePolymers     = new Material("conductivepolymers", Manufactured, Rare);
            var ConfigurableComponents = new Material("configurablecomponents", Manufactured, Rare);
            var HeatVanes             = new Material("heatvanes", Manufactured, Rare);
            var PolymerCapacitors     = new Material("polymercapacitors", Manufactured, Rare);
            var ProprietaryComposites = new Material("fedproprietarycomposites", Manufactured, Rare);
            var ProtoLightAlloys      = new Material("protolightalloys", Manufactured, Rare);
            var RefinedFocusCrystals  = new Material("refinedfocuscrystals", Manufactured, Rare);
            var ThermicAlloys         = new Material("thermicalloys", Manufactured, Rare);
            // Grade 4 Xeno
            var UnknownTechnologyComponents = new Material("unknowntechnologycomponents", Manufactured, Rare);
            var Tg_WeaponParts = new Material("tg_weaponparts", Manufactured, Rare);

            // Grade 5, Very Rare
            var BiotechConductors       = new Material("biotechconductors", Manufactured, VeryRare);
            var CoreDynamicsComposites  = new Material("fedcorecomposites", Manufactured, VeryRare);
            var ExquisiteFocusCrystals  = new Material("exquisitefocuscrystals", Manufactured, VeryRare);
            var ImperialShielding       = new Material("imperialshielding", Manufactured, VeryRare);
            var ImprovisedComponents    = new Material("improvisedcomponents", Manufactured, VeryRare);
            var MilitaryGradeAlloys     = new Material("militarygradealloys", Manufactured, VeryRare);
            var MilitarySupercapacitors = new Material("militarysupercapacitors", Manufactured, VeryRare);
            var PharmaceuticalIsolators = new Material("pharmaceuticalisolators", Manufactured, VeryRare);
            var ProtoHeatRadiators      = new Material("protoheatradiators", Manufactured, VeryRare);
            var ProtoRadiolicAlloys     = new Material("protoradiolicalloys", Manufactured, VeryRare);
            // Grade 5 Xeno
            var UnknownEnergySource     = new Material("unknownenergysource", Manufactured, VeryRare);
            var UnknownOrganicCircuitry = new Material("unknownorganiccircuitry", Manufactured, VeryRare);
            var Tg_PropulsionElement    = new Material("tg_propulsionelement", Manufactured, VeryRare);

            surfaceElements = ImmutableHashSet.ToImmutableHashSet(AllOfThem
                                                                  .Where(m => m.Category == Element)
                                                                  .Where(m => m.greatpctbody != null).ToList());

            jumponiumElements = ImmutableHashSet.Create(
                Carbon,
                Germanium,
                Vanadium,
                Cadmium,
                Niobium,
                Arsenic,
                Yttrium,
                Polonium
                );
        }
Ejemplo n.º 13
0
 public ImmutableHashSet <A> build() => builder.ToImmutableHashSet();
Ejemplo n.º 14
0
 public User Build()
 {
     return(new User(_key, _secondary, _ipAddress, _country, _firstName, _lastName, _name, _avatar, _email,
                     _anonymous,
                     _custom is null ? ImmutableDictionary.Create <string, LdValue>() : _custom.ToImmutableDictionary(),
                     _privateAttributeNames is null ? ImmutableHashSet.Create <string>() : _privateAttributeNames.ToImmutableHashSet()));
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Returns readonly collection
 /// </summary>
 /// <returns></returns>
 public ImmutableHashSet <int> Get()
 {
     return(ImmutableHashSet.ToImmutableHashSet(subscribedUsers));
 }
Ejemplo n.º 16
0
 public TestRoleChecker(params Guid[] admins)
 {
     this.admins = admins.ToImmutableHashSet();
 }