Pre-compile pattern for performance

This commit is contained in:
Andrey Breslav
2012-07-11 20:50:03 +04:00
parent de7b93c4b8
commit 969a798998
@@ -41,6 +41,7 @@ import java.io.IOException;
import java.io.StringReader; import java.io.StringReader;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.*; import java.util.*;
import java.util.regex.Pattern;
/** /**
* @author Stepan Koltsov * @author Stepan Koltsov
@@ -202,12 +203,12 @@ public class NamespaceComparator {
*/ */
private static class MemberComparator implements Comparator<String> { private static class MemberComparator implements Comparator<String> {
private static final Pattern IRRELEVANT = Pattern.compile(
"^ *(private|protected|public|internal|final|abstract|open|override|fun|val|var|/\\*.*?\\*/|((?!<init>)<.*?>)| )*");
@NotNull @NotNull
private String normalize(String s) { private String normalize(String s) {
return s.replaceFirst( return IRRELEVANT.matcher(s).replaceAll("");
"^ *(private|protected|public|internal|final|abstract|open|override|fun|val|var|/\\*.*?\\*/|((?!<init>)<.*?>)| )*",
"")
+ s;
} }
@Override @Override