[Fb-contrib-commit] SF.net SVN: fb-contrib:[1075] trunk/fb-contrib/src/com/mebigfatguy/ fbcontrib/
Brought to you by:
dbrosius
From: <dbr...@us...> - 2008-10-30 15:55:52
|
Revision: 1075 http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1075&view=rev Author: dbrosius Date: 2008-10-30 15:55:38 +0000 (Thu, 30 Oct 2008) Log Message: ----------- don't report on CopyOnWriteArrayList and CopyOnWriteArraySet Modified Paths: -------------- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/DeletingWhileIterating.java Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/DeletingWhileIterating.java =================================================================== --- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/DeletingWhileIterating.java 2008-10-22 19:50:46 UTC (rev 1074) +++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/DeletingWhileIterating.java 2008-10-30 15:55:38 UTC (rev 1075) @@ -56,6 +56,7 @@ { private static JavaClass collectionClass; private static JavaClass iteratorClass; + private static Set<JavaClass> exceptionClasses; private static final Set<String> collectionMethods; static { try { @@ -66,6 +67,13 @@ iteratorClass = null; } + try { + exceptionClasses = new HashSet<JavaClass>(); + exceptionClasses.add(Repository.lookupClass("java.util.concurrent.CopyOnWriteArrayList")); + exceptionClasses.add(Repository.lookupClass("java.util.concurrent.CopyOnWriteArraySet")); + } catch (ClassNotFoundException cnfe) { + } + collectionMethods = new HashSet<String>(); collectionMethods.add("entrySet()Ljava/lang/Set;"); collectionMethods.add("keySet()Ljava/lang/Set;"); @@ -309,7 +317,7 @@ private boolean isCollection(String className) { try { JavaClass cls = Repository.lookupClass(className); - return cls.implementationOf(collectionClass); + return cls.implementationOf(collectionClass) && !exceptionClasses.contains(cls); } catch (ClassNotFoundException cnfe) { bugReporter.reportMissingClass(cnfe); return false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |