/// <summary>
        /// Returns criteria displayed in toolwindow's filter, used to calculate localization probability
        /// </summary>
        public static new Dictionary <string, LocalizationCommonCriterion> GetCriteria()
        {
            var localizationCriteriaList = AbstractResultItem.GetCriteria();

            var wasVerbatimPredicate = new LocalizationCommonCriterion("WasVerbatim",
                                                                       "Is verbatim string",
                                                                       LocalizationCriterionAction.VALUE, -10,
                                                                       (item) => { return(item.WasVerbatim); });

            localizationCriteriaList.Add(wasVerbatimPredicate.Name, wasVerbatimPredicate);

            return(localizationCriteriaList);
        }
        /// <summary>
        /// Returns criteria displayed in toolwindow's filter, used to calculate localization probability
        /// </summary>
        public static new Dictionary <string, LocalizationCommonCriterion> GetCriteria()
        {
            var localizationCriteriaList = CodeStringResultItem.GetCriteria();

            var comesFromElementPredicate = new LocalizationCommonCriterion("ComesFromElement",
                                                                            "String comes from ASP .NET element attribute",
                                                                            LocalizationCriterionAction.VALUE, 10,
                                                                            (item) => { var i = (item as AspNetStringResultItem); return(i == null ? (bool?)null : i.ComesFromElement); });

            var comesFromInlineExpressionPredicate = new LocalizationCommonCriterion("ComesFromInlineExpression",
                                                                                     "String comes from ASP .NET inline expression",
                                                                                     LocalizationCriterionAction.VALUE, -20,
                                                                                     (item) => { var i = (item as AspNetStringResultItem); return(i == null ? (bool?)null : i.ComesFromInlineExpression); });

            var localizabilityProvedPredicate = new LocalizationCommonCriterion("LocalizabilityProved",
                                                                                "ASP.NET attribute's type is String",
                                                                                LocalizationCriterionAction.VALUE, 40,
                                                                                (item) => { var i = (item as AspNetStringResultItem); return(i == null ? (bool?)null : i.LocalizabilityProved); });

            var comesFromPlainTextPredicate = new LocalizationCommonCriterion("ComesFromPlainText",
                                                                              "String literal comes from ASP .NET plain text",
                                                                              LocalizationCriterionAction.VALUE, 30,
                                                                              (item) => { var i = (item as AspNetStringResultItem); return(i == null ? (bool?)null : i.ComesFromPlainText); });

            var comesFromDirectivePredicate = new LocalizationCommonCriterion("ComesFromDirective",
                                                                              "String literal comes from ASP .NET directive",
                                                                              LocalizationCriterionAction.VALUE, -20,
                                                                              (item) => { var i = (item as AspNetStringResultItem); return(i == null ? (bool?)null : i.ComesFromDirective); });

            var comesFromCodeBlockPredicate = new LocalizationCommonCriterion("ComesFromCodeBlock",
                                                                              "String literal comes from ASP .NET code block",
                                                                              LocalizationCriterionAction.VALUE, -10,
                                                                              (item) => { var i = (item as AspNetStringResultItem); return(i == null ? (bool?)null : i.ComesFromCodeBlock); });

            localizationCriteriaList.Add(comesFromElementPredicate.Name, comesFromElementPredicate);
            localizationCriteriaList.Add(comesFromInlineExpressionPredicate.Name, comesFromInlineExpressionPredicate);
            localizationCriteriaList.Add(localizabilityProvedPredicate.Name, localizabilityProvedPredicate);
            localizationCriteriaList.Add(comesFromPlainTextPredicate.Name, comesFromPlainTextPredicate);
            localizationCriteriaList.Add(comesFromDirectivePredicate.Name, comesFromDirectivePredicate);
            localizationCriteriaList.Add(comesFromCodeBlockPredicate.Name, comesFromCodeBlockPredicate);
            return(localizationCriteriaList);
        }
        /// <summary>
        /// Returns criteria displayed in toolwindow's filter, used to calculate localization probability
        /// </summary>
        public static Dictionary <string, LocalizationCommonCriterion> GetCriteria()
        {
            var localizationCriteriaList = new Dictionary <string, LocalizationCommonCriterion>();

            var designerFilePredicate = new LocalizationCommonCriterion("ComesFromDesignerFile",
                                                                        "String comes from designer file",
                                                                        LocalizationCriterionAction.IGNORE, 0,
                                                                        (item) => { return(item.ComesFromDesignerFile); });

            var clientCommentPredicate = new LocalizationCommonCriterion("ComesFromClientComment",
                                                                         "String is located in commented code",
                                                                         LocalizationCriterionAction.FORCE_DISABLE, 0,
                                                                         (item) => { return(item.ComesFromClientComment); });

            var localizableFalsePredicate = new LocalizationCommonCriterion("IsWithinLocalizableFalse",
                                                                            "String is within Localizable[false] block",
                                                                            LocalizationCriterionAction.FORCE_DISABLE, 0,
                                                                            (item) => { return(item.IsWithinLocalizableFalse); });

            var unlocalizableCommentPredicate = new LocalizationCommonCriterion("IsMarkedWithUnlocalizableComment",
                                                                                "String is marked with VL_NO_LOC",
                                                                                LocalizationCriterionAction.FORCE_DISABLE, 0,
                                                                                (item) => { return(item.IsMarkedWithUnlocalizableComment); });

            var constPredicate = new LocalizationCommonCriterion("IsConst",
                                                                 "String field is decorated with the 'const' modifier",
                                                                 LocalizationCriterionAction.FORCE_DISABLE, 0,
                                                                 (item) => { return(item.IsConst); });

            localizationCriteriaList.Add(designerFilePredicate.Name, designerFilePredicate);
            localizationCriteriaList.Add(clientCommentPredicate.Name, clientCommentPredicate);
            localizationCriteriaList.Add(localizableFalsePredicate.Name, localizableFalsePredicate);
            localizationCriteriaList.Add(unlocalizableCommentPredicate.Name, unlocalizableCommentPredicate);
            localizationCriteriaList.Add(constPredicate.Name, constPredicate);

            return(localizationCriteriaList);
        }