package org.projectusus.core.proportions.rawdata.jdtdriver.cc; import java.util.ArrayList; import java.util.List; import org.eclipse.jdt.core.dom.ASTNode; import org.eclipse.jdt.core.dom.Initializer; import org.eclipse.jdt.core.dom.MethodDeclaration; import org.projectusus.metrics.CCCollector; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; public class CCInspector extends CCCollector { private Multimap<String, String> map = ArrayListMultimap.create(); private List<String> names = new ArrayList<String>(); private String currentName; public void init( MethodDeclaration node ) { currentName = node.getName().toString(); names.add( currentName ); } public void init( Initializer node ) { currentName = "initializer"; names.add( currentName ); } @Override public void calculate( ASTNode node, int amount ) { String amountSuffix = amount == 1 ? "" : " " + amount; map.put( currentName, node.getClass().getSimpleName() + amountSuffix ); } public void commit( MethodDeclaration node ) { } public void commit( Initializer node ) { } public List<String> getNames() { return names; } public Multimap<String, String> getMap() { return map; } }