/* * Copyright 2012 Phil Pratt-Szeliga and other contributors * http://chirrup.org/ * * See the file LICENSE for copying permission. */ package org.trifort.rootbeer.deadmethods; import java.util.ArrayList; import java.util.List; public class MethodNameParser { public List<String> parse(List<Block> blocks){ List<String> ret = new ArrayList<String>(); for(Block block : blocks){ if(block.isMethod()){ String name = parseMethodName(block); ret.add(name); Method method = new Method(name); block.setMethod(method); } } return ret; } private String parseMethodName(Block block) { String str = block.getFullString(); int pos = str.indexOf('('); int first_char_pos = pos - 1; while(first_char_pos >= 0){ char c = str.charAt(first_char_pos); if(c == ' '){ --first_char_pos; } else { break; } } int first_space_pos = first_char_pos - 1; while(first_space_pos >= 0){ char c = str.charAt(first_space_pos); if(c == ' '){ break; } else { --first_space_pos; } } String method_name = str.substring(first_space_pos+1, first_char_pos+1); return method_name; } }