private static void HandleVerb(WordInformation word, Database dictionary, string conjungation, Dictionary <int, JmdictEntity> entries) { if (!word.Reading.StartsWith("ナ", StringComparison.OrdinalIgnoreCase) && WordInformation.IsSpecialSuVerb(word.FirstConjugationType) && (word.BaseForm.Equals("為る", StringComparison.OrdinalIgnoreCase) || word.BaseForm.Equals("する", StringComparison.OrdinalIgnoreCase))) { //Deal with suru verb alone to avoid showing noun with conjungation AddSuruVerb(word, dictionary, conjungation, entries); } else if ((word.BaseForm.Equals("来る", StringComparison.OrdinalIgnoreCase) || word.BaseForm.Equals("くる", StringComparison.OrdinalIgnoreCase)) && WordInformation.IsSpecialKuVerb(word.FirstConjugationType)) { //Deal with kuru alone AddKuruVerb(word, dictionary, conjungation, entries); } else { AddVerbExceptSuruKuruDictionaryEntry(word, dictionary, entries, conjungation); if (word.BaseForm.Equals("くる", StringComparison.OrdinalIgnoreCase)) { AddKuruSpecialOnly(null, entries, dictionary); } else if ((word.Surface.StartsWith("こら", StringComparison.OrdinalIgnoreCase) && word.BaseForm.Equals("こる", StringComparison.OrdinalIgnoreCase)) || (word.Surface.StartsWith("来ら", StringComparison.OrdinalIgnoreCase) && word.BaseForm.Equals("来る", StringComparison.OrdinalIgnoreCase))) { if (conjungation != null && conjungation.Contains("[passive]")) { string newConjun = conjungation.Replace("[passive]", "[passive or potential]"); AddKuruSpecialOnly(newConjun, entries, dictionary); } } else if (word.Surface.StartsWith("来さ", StringComparison.OrdinalIgnoreCase) && word.BaseForm.Equals("来す", StringComparison.OrdinalIgnoreCase)) { if (conjungation != null && conjungation.Contains("causative")) { AddKuruSpecialOnly(conjungation, entries, dictionary); } } else if (word.Surface.StartsWith("こさ", StringComparison.OrdinalIgnoreCase) && word.BaseForm.Equals("こす", StringComparison.OrdinalIgnoreCase)) { if (conjungation != null && conjungation.Contains("causative")) { AddKuruSpecialOnly(conjungation, entries, dictionary); } } } }