Project Information
Project:
codeCompCommon (spotbugsMain)
SpotBugs version: 4.5.3
Code analyzed:
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/UnicodeConstants.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/iterators/OmitPrivateCodesIterator.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/iterators/StringContainsIterator.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/iterators/TreeIterator$State.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/iterators/TreeIterator.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/iterators/TruncatedStringsIterator.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/LexicalAnalyzer.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/TokenStream.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/SharedPhraseStorage.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/SharedPhrases$SharedPhrasesIterable.class
- /home/zeil/git/codecompcommon/codeCompCommon/build/classes/java/main/edu/odu/cs/cs350/sourcedSuffixTrees/SharedPhrases.class
Metrics
220 lines of code analyzed,
in 11 classes,
in 2 packages.
High Priority Warnings |
|
0.00 |
Medium Priority Warnings |
4 |
18.18 |
Total Warnings
|
4
|
18.18
|
(* Defects per Thousand lines of non-commenting source statements)
Contents
Summary
Warnings
Click on a warning row to see full context information.
EI2
|
new edu.odu.cs.cs350.sourcedSuffixTrees.iterators.OmitPrivateCodesIterator(Iterator) may expose internal representation by storing an externally mutable object into OmitPrivateCodesIterator.baseIterator |
|
Bug type EI_EXPOSE_REP2 (click for details)
In class edu.odu.cs.cs350.sourcedSuffixTrees.iterators.OmitPrivateCodesIterator In method new edu.odu.cs.cs350.sourcedSuffixTrees.iterators.OmitPrivateCodesIterator(Iterator) Field edu.odu.cs.cs350.sourcedSuffixTrees.iterators.OmitPrivateCodesIterator.baseIterator Local variable named baseIterator At OmitPrivateCodesIterator.java:[line 52]
|
EI2
|
new edu.odu.cs.cs350.sourcedSuffixTrees.iterators.StringContainsIterator(Iterator, String) may expose internal representation by storing an externally mutable object into StringContainsIterator.baseIterator |
|
Bug type EI_EXPOSE_REP2 (click for details)
In class edu.odu.cs.cs350.sourcedSuffixTrees.iterators.StringContainsIterator In method new edu.odu.cs.cs350.sourcedSuffixTrees.iterators.StringContainsIterator(Iterator, String) Field edu.odu.cs.cs350.sourcedSuffixTrees.iterators.StringContainsIterator.baseIterator Local variable named baseIterator At StringContainsIterator.java:[line 45]
|
EI2
|
new edu.odu.cs.cs350.sourcedSuffixTrees.iterators.TruncatedStringsIterator(Iterator, char) may expose internal representation by storing an externally mutable object into TruncatedStringsIterator.baseIterator |
|
Bug type EI_EXPOSE_REP2 (click for details)
In class edu.odu.cs.cs350.sourcedSuffixTrees.iterators.TruncatedStringsIterator In method new edu.odu.cs.cs350.sourcedSuffixTrees.iterators.TruncatedStringsIterator(Iterator, char) Field edu.odu.cs.cs350.sourcedSuffixTrees.iterators.TruncatedStringsIterator.baseIterator Local variable named baseIterator At TruncatedStringsIterator.java:[line 44]
|
This code stores a reference to an externally mutable object into the
internal representation of the object.
If instances
are accessed by untrusted code, and unchecked changes to
the mutable object would compromise security or other
important properties, you will need to do something different.
Storing a copy of the object is better approach in many situations.
This class is an inner class, but does not use its embedded reference
to the object which created it. This reference makes the instances
of the class larger, and may keep the reference to the creator object
alive longer than necessary. If possible, the class should be
made static.