private bool Step1()

in src/Lucene.Net.Analysis.Common/Analysis/Br/BrazilianStemmer.cs [432:673]


        private bool Step1()
        {
            if (CT is null)
            {
                return false;
            }

            // suffix length = 7
            if (Suffix(CT, "uciones") && Suffix(R2, "uciones"))
            {
                CT = ReplaceSuffix(CT, "uciones", "u");
                return true;
            }

            // suffix length = 6
            if (CT.Length >= 6)
            {
                if (Suffix(CT, "imentos") && Suffix(R2, "imentos"))
                {
                    CT = RemoveSuffix(CT, "imentos");
                    return true;
                }
                if (Suffix(CT, "amentos") && Suffix(R2, "amentos"))
                {
                    CT = RemoveSuffix(CT, "amentos");
                    return true;
                }
                if (Suffix(CT, "adores") && Suffix(R2, "adores"))
                {
                    CT = RemoveSuffix(CT, "adores");
                    return true;
                }
                if (Suffix(CT, "adoras") && Suffix(R2, "adoras"))
                {
                    CT = RemoveSuffix(CT, "adoras");
                    return true;
                }
                if (Suffix(CT, "logias") && Suffix(R2, "logias"))
                {
                    ReplaceSuffix(CT, "logias", "log");
                    return true;
                }
                if (Suffix(CT, "encias") && Suffix(R2, "encias"))
                {
                    CT = ReplaceSuffix(CT, "encias", "ente");
                    return true;
                }
                if (Suffix(CT, "amente") && Suffix(R1, "amente"))
                {
                    CT = RemoveSuffix(CT, "amente");
                    return true;
                }
                if (Suffix(CT, "idades") && Suffix(R2, "idades"))
                {
                    CT = RemoveSuffix(CT, "idades");
                    return true;
                }
            }

            // suffix length = 5
            if (CT.Length >= 5)
            {
                if (Suffix(CT, "acoes") && Suffix(R2, "acoes"))
                {
                    CT = RemoveSuffix(CT, "acoes");
                    return true;
                }
                if (Suffix(CT, "imento") && Suffix(R2, "imento"))
                {
                    CT = RemoveSuffix(CT, "imento");
                    return true;
                }
                if (Suffix(CT, "amento") && Suffix(R2, "amento"))
                {
                    CT = RemoveSuffix(CT, "amento");
                    return true;
                }
                if (Suffix(CT, "adora") && Suffix(R2, "adora"))
                {
                    CT = RemoveSuffix(CT, "adora");
                    return true;
                }
                if (Suffix(CT, "ismos") && Suffix(R2, "ismos"))
                {
                    CT = RemoveSuffix(CT, "ismos");
                    return true;
                }
                if (Suffix(CT, "istas") && Suffix(R2, "istas"))
                {
                    CT = RemoveSuffix(CT, "istas");
                    return true;
                }
                if (Suffix(CT, "logia") && Suffix(R2, "logia"))
                {
                    CT = ReplaceSuffix(CT, "logia", "log");
                    return true;
                }
                if (Suffix(CT, "ucion") && Suffix(R2, "ucion"))
                {
                    CT = ReplaceSuffix(CT, "ucion", "u");
                    return true;
                }
                if (Suffix(CT, "encia") && Suffix(R2, "encia"))
                {
                    CT = ReplaceSuffix(CT, "encia", "ente");
                    return true;
                }
                if (Suffix(CT, "mente") && Suffix(R2, "mente"))
                {
                    CT = RemoveSuffix(CT, "mente");
                    return true;
                }
                if (Suffix(CT, "idade") && Suffix(R2, "idade"))
                {
                    CT = RemoveSuffix(CT, "idade");
                    return true;
                }
            }

            // suffix length = 4
            if (CT.Length >= 4)
            {
                if (Suffix(CT, "acao") && Suffix(R2, "acao"))
                {
                    CT = RemoveSuffix(CT, "acao");
                    return true;
                }
                if (Suffix(CT, "ezas") && Suffix(R2, "ezas"))
                {
                    CT = RemoveSuffix(CT, "ezas");
                    return true;
                }
                if (Suffix(CT, "icos") && Suffix(R2, "icos"))
                {
                    CT = RemoveSuffix(CT, "icos");
                    return true;
                }
                if (Suffix(CT, "icas") && Suffix(R2, "icas"))
                {
                    CT = RemoveSuffix(CT, "icas");
                    return true;
                }
                if (Suffix(CT, "ismo") && Suffix(R2, "ismo"))
                {
                    CT = RemoveSuffix(CT, "ismo");
                    return true;
                }
                if (Suffix(CT, "avel") && Suffix(R2, "avel"))
                {
                    CT = RemoveSuffix(CT, "avel");
                    return true;
                }
                if (Suffix(CT, "ivel") && Suffix(R2, "ivel"))
                {
                    CT = RemoveSuffix(CT, "ivel");
                    return true;
                }
                if (Suffix(CT, "ista") && Suffix(R2, "ista"))
                {
                    CT = RemoveSuffix(CT, "ista");
                    return true;
                }
                if (Suffix(CT, "osos") && Suffix(R2, "osos"))
                {
                    CT = RemoveSuffix(CT, "osos");
                    return true;
                }
                if (Suffix(CT, "osas") && Suffix(R2, "osas"))
                {
                    CT = RemoveSuffix(CT, "osas");
                    return true;
                }
                if (Suffix(CT, "ador") && Suffix(R2, "ador"))
                {
                    CT = RemoveSuffix(CT, "ador");
                    return true;
                }
                if (Suffix(CT, "ivas") && Suffix(R2, "ivas"))
                {
                    CT = RemoveSuffix(CT, "ivas");
                    return true;
                }
                if (Suffix(CT, "ivos") && Suffix(R2, "ivos"))
                {
                    CT = RemoveSuffix(CT, "ivos");
                    return true;
                }
                if (Suffix(CT, "iras") && Suffix(RV, "iras") && SuffixPreceded(CT, "iras", "e"))
                {
                    CT = ReplaceSuffix(CT, "iras", "ir");
                    return true;
                }
            }

            // suffix length = 3
            if (CT.Length >= 3)
            {
                if (Suffix(CT, "eza") && Suffix(R2, "eza"))
                {
                    CT = RemoveSuffix(CT, "eza");
                    return true;
                }
                if (Suffix(CT, "ico") && Suffix(R2, "ico"))
                {
                    CT = RemoveSuffix(CT, "ico");
                    return true;
                }
                if (Suffix(CT, "ica") && Suffix(R2, "ica"))
                {
                    CT = RemoveSuffix(CT, "ica");
                    return true;
                }
                if (Suffix(CT, "oso") && Suffix(R2, "oso"))
                {
                    CT = RemoveSuffix(CT, "oso");
                    return true;
                }
                if (Suffix(CT, "osa") && Suffix(R2, "osa"))
                {
                    CT = RemoveSuffix(CT, "osa");
                    return true;
                }
                if (Suffix(CT, "iva") && Suffix(R2, "iva"))
                {
                    CT = RemoveSuffix(CT, "iva");
                    return true;
                }
                if (Suffix(CT, "ivo") && Suffix(R2, "ivo"))
                {
                    CT = RemoveSuffix(CT, "ivo");
                    return true;
                }
                if (Suffix(CT, "ira") && Suffix(RV, "ira") && SuffixPreceded(CT, "ira", "e"))
                {
                    CT = ReplaceSuffix(CT, "ira", "ir");
                    return true;
                }
            }

            // no ending was removed by step1
            return false;
        }