in codeanalyzer/src/main/java/nl/obren/sokrates/sourcecode/units/CStyleHeuristicUnitsExtractor.java [257:271]
protected boolean isUnitSignature(String line) {
line = extraCleanContent(line);
if (line.contains("(") && !line.contains(";") && !line.contains("new ") && !line.trim().startsWith("else ")
&& !line.contains("return ") && !line.trim().startsWith("?") && !line.trim().startsWith(":")) {
line = line.substring(0, line.indexOf("(") + 1);
String identifierPattern = "[a-zA-Z0-9_$?]+";
String startUnitRegex = "(" + identifierPattern + "[ ]+)+" + identifierPattern + "[ ]*[(]";
Pattern pattern = Pattern.compile(startUnitRegex);
Matcher matcher = pattern.matcher(line);
if (matcher.matches()) {
return true;
}
}
return false;
}