FindBugs Bug Detector Report

The following document contains the results of FindBugs

FindBugs Version is 3.0.1

Threshold is medium

Effort is

Summary

Classes Bugs Errors Missing Classes
138 31 0 0

jgloss.dictionary.BinarySearchIndexBuilder

Bug Category Details Line Priority
jgloss.dictionary.BinarySearchIndexBuilder.random isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 51 High

jgloss.dictionary.Indexable$CharData

Bug Category Details Line Priority
Unread public/protected field: jgloss.dictionary.Indexable$CharData.character STYLE URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD 45 Medium
Unread public/protected field: jgloss.dictionary.Indexable$CharData.position STYLE URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD 46 Medium

jgloss.dictionary.KanjiDic

Bug Category Details Line Priority
new jgloss.dictionary.KanjiDic(String) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 398 Medium

jgloss.dictionary.KanjiDic$Entry

Bug Category Details Line Priority
jgloss.dictionary.KanjiDic$Entry.getNanoriReadings() may expose internal representation by returning KanjiDic$Entry.nanoriReadings MALICIOUS_CODE EI_EXPOSE_REP 357 Medium
jgloss.dictionary.KanjiDic$Entry.getReadings() may expose internal representation by returning KanjiDic$Entry.readings MALICIOUS_CODE EI_EXPOSE_REP 352 Medium
jgloss.dictionary.KanjiDic$Entry.getTranslations() may expose internal representation by returning KanjiDic$Entry.translations MALICIOUS_CODE EI_EXPOSE_REP 367 Medium
Switch statement found in new jgloss.dictionary.KanjiDic$Entry(KanjiDic, String, boolean) where default case is missing STYLE SF_SWITCH_NO_DEFAULT 262 Medium
Should jgloss.dictionary.KanjiDic$Entry be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 218 Medium

jgloss.dictionary.MultiWordEntry

Bug Category Details Line Priority
Invocation of toString on MultiWordEntry.wordsA in jgloss.dictionary.MultiWordEntry.toString() CORRECTNESS DMI_INVOKING_TOSTRING_ON_ARRAY 111 High
new jgloss.dictionary.MultiWordEntry(int, String[], String[], List, AttributeSet, AttributeSet, AttributeSet[], AttributeSet, AttributeSet[], AttributeSet, List, Dictionary) may expose internal representation by storing an externally mutable object into MultiWordEntry.readings MALICIOUS_CODE EI_EXPOSE_REP2 46 Medium
new jgloss.dictionary.MultiWordEntry(int, String[], String[], List, AttributeSet, AttributeSet, AttributeSet[], AttributeSet, AttributeSet[], AttributeSet, List, Dictionary) may expose internal representation by storing an externally mutable object into MultiWordEntry.words MALICIOUS_CODE EI_EXPOSE_REP2 44 Medium

jgloss.dictionary.attribute.Attributes

Bug Category Details Line Priority
new jgloss.dictionary.attribute.Attributes(String, String, boolean, Class, AttributeValue, DictionaryEntry$AttributeGroup[]) may expose internal representation by storing an externally mutable object into Attributes.groups MALICIOUS_CODE EI_EXPOSE_REP2 173 Medium

jgloss.dictionary.attribute.IDAttributeValueFactory

Bug Category Details Line Priority
jgloss.dictionary.attribute.IDAttributeValueFactory.getValueFor(String) invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 42 Medium

jgloss.dictionary.attribute.PriorityComparator

Bug Category Details Line Priority
jgloss.dictionary.attribute.PriorityComparator implements Comparator but not Serializable BAD_PRACTICE SE_COMPARATOR_SHOULD_BE_SERIALIZABLE 34 Medium

jgloss.dictionary.attribute.ReferenceAttributeFormatter

Bug Category Details Line Priority
Unread public/protected field: jgloss.dictionary.attribute.ReferenceAttributeFormatter.itemBuffer STYLE URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD 30 Medium

jgloss.dictionary.filebased.EDictEntryParser

Bug Category Details Line Priority
Found reliance on default encoding in jgloss.dictionary.filebased.EDictEntryParser.initMapper(): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 111 High

jgloss.dictionary.filebased.FileBasedDictionary

Bug Category Details Line Priority
Exceptional return value of java.io.File.delete() ignored in jgloss.dictionary.filebased.FileBasedDictionary.loadIndex() BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 273 Medium

jgloss.dictionary.filebased.FileBasedDictionary$ExpressionSearchIterator

Bug Category Details Line Priority
instanceof will always return false in jgloss.dictionary.filebased.FileBasedDictionary$ExpressionSearchIterator.next(), since a jgloss.dictionary.SearchException can't be a jgloss.dictionary.MalformedEntryException CORRECTNESS BC_IMPOSSIBLE_INSTANCEOF 785 Medium

jgloss.parser.Chasen

Bug Category Details Line Priority
Found reliance on default encoding in jgloss.parser.Chasen.isChasenExecutable(String): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 297 High
jgloss.parser.Chasen.getChasenPlatformEncoding(String) ignores result of java.io.InputStreamReader.read(char[]) BAD_PRACTICE RR_NOT_CHECKED 477 Medium

jgloss.parser.ChasenParser

Bug Category Details Line Priority
Unwritten field: jgloss.parser.ChasenParser.lookupCache CORRECTNESS UWF_UNWRITTEN_FIELD 210 Medium

jgloss.parser.Conjugation

Bug Category Details Line Priority
jgloss.parser.Conjugation.loadConjugations() may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 241 Medium

jgloss.parser.KanjiParser

Bug Category Details Line Priority
new jgloss.parser.KanjiParser(Dictionary[], Set, boolean, boolean, boolean) may expose internal representation by storing an externally mutable object into KanjiParser.dictionaries MALICIOUS_CODE EI_EXPOSE_REP2 113 Medium

jgloss.parser.TextAnnotationCompleter

Bug Category Details Line Priority
new jgloss.parser.TextAnnotationCompleter(Dictionary[]) may expose internal representation by storing an externally mutable object into TextAnnotationCompleter.dictionaries MALICIOUS_CODE EI_EXPOSE_REP2 48 Medium

jgloss.util.AbstractEscaper

Bug Category Details Line Priority
jgloss.util.AbstractEscaper.escapeChar(char) invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead PERFORMANCE DM_NUMBER_CTOR 40 Medium

jgloss.util.CharacterEncodingDetector

Bug Category Details Line Priority
jgloss.util.CharacterEncodingDetector.<static initializer for CharacterEncodingDetector>() might ignore java.io.UnsupportedEncodingException BAD_PRACTICE DE_MIGHT_IGNORE 120 Medium
Found reliance on default encoding in jgloss.util.CharacterEncodingDetector.getReader(InputStream, String, int): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 176 High
Switch statement found in jgloss.util.CharacterEncodingDetector.guessEncoding(byte[]) where default case is missing STYLE SF_SWITCH_NO_DEFAULT 314 Medium
Useless condition: it's known that c != 174 (0xae) at this point STYLE UC_USELESS_CONDITION 320 Medium

jgloss.util.LaTeXEscaper

Bug Category Details Line Priority
jgloss.util.LaTeXEscaper.initEscapeMap() invokes inefficient new Character(char) constructor; use Character.valueOf(char) instead PERFORMANCE DM_NUMBER_CTOR 40 Medium