blob: f4bf0d902590744e1aa0b3641d9e3b6e265e1eb4 [file] [log] [blame]
/*
* User: anna
* Date: 19-Feb-2010
*/
package com.intellij.coverage.listeners;
public abstract class CoverageListener {
private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
private Object myProjectData;
protected static String sanitize(String className, String methodName) {
final StringBuilder result = new StringBuilder();
final String fileName = className + "." + methodName;
for (int i = 0; i < fileName.length(); i++) {
final char ch = fileName.charAt(i);
if (ch > 0 && ch < 255) {
if (Character.isLetterOrDigit(ch)) {
result.append(ch);
}
else {
result.append("_");
}
}
}
return result.toString();
}
protected Object getData() {
try {
return Class.forName("com.intellij.rt.coverage.data.ProjectData").getMethod("getProjectData", EMPTY_CLASS_ARRAY).invoke(null);
}
catch (Exception e) {
return null; //should not happen
}
}
}