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
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 |