Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * fb-contrib - Auxiliary detectors for Java programs
   * Copyright (C) 2005-2015 Dave Brosius
   *
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 package com.mebigfatguy.fbcontrib.collect;
 
 import java.util.Set;
 
 
 
 public class CollectStatistics extends BytecodeScanningDetector implements NonReportingDetector
 {
 	private static Set<StringCOMMON_METHOD_SIGS = new HashSet<String>();
 	static {
 		.add("\\<init\\>\\(\\)V");
 		.add("toString\\(\\)Ljava/lang/String;");
 		.add("hashCode\\(\\)I");
 		.add("clone\\(\\).*");
 		.add("values\\(\\).*");
 		.add("main\\(\\[Ljava/lang/String;\\)V");
 	}
 	private int numMethodCalls;
 	private boolean classHasAnnotation;
 
 	public CollectStatistics(@SuppressWarnings("unused"BugReporter bugReporter) {
 		Statistics.getStatistics().clear();
 	}
 
     @Override
     public void visitClassContext(ClassContext classContext) {
     	JavaClass cls = classContext.getJavaClass();
     	AnnotationEntry[] annotations = cls.getAnnotationEntries();
     	 = (annotations != null) && (annotations.length > 0);
     	super.visitClassContext(classContext);
 	}
 
 	public void visitCode(Code obj) {
 
 
 		byte[] code = obj.getCode();
 		if (code != null) {
 			super.visitCode(obj);
 			String clsName = getClassName();
 			int accessFlags = getMethod().getAccessFlags();
 			MethodInfo mi = Statistics.getStatistics().addMethodStatistics(clsNamegetMethodName(), getMethodSig(), accessFlagsobj.getLength(), );
 			if (clsName.contains("$") || ((accessFlags & (||)) != 0)) {
 			} else if ((accessFlags & .) == 0) {
 				} else {
 					String methodSig = getMethodName() + getMethodSig();
 					for (String sig : ) {
 						if (methodSig.matches(sig)) {
 						}
 					}
 				}
 			}
 		}
 	}
 
 	public void sawOpcode(int seen) {
 		switch (seen) {
 			case :
 			case :
 			case :
 			break;
 			default:
 				break;
		}
	}
	private boolean isAssociationedWithAnnotations(Method m) {
			return true;
		}
		AnnotationEntry[] annotations = m.getAnnotationEntries();
    	return (annotations != null) && (annotations.length > 0);
	}
New to GrepCode? Check out our FAQ X