scopes: accept everything in module name, escape to regexp (IDEA-129127)

This commit is contained in:
Anna Kozlova
2014-09-05 19:11:30 +04:00
parent 40d32ba16c
commit a755c8491b
2 changed files with 4 additions and 5 deletions
@@ -56,12 +56,12 @@ public class FilePatternPackageSet extends PatternBasedPackageSet {
if (modulePattern.startsWith("group:")) {
int idx = modulePattern.indexOf(':', 6);
if (idx == -1) idx = modulePattern.length();
myModuleGroupPattern = Pattern.compile(StringUtil.replace(modulePattern.substring(6, idx), "*", ".*"));
myModuleGroupPattern = Pattern.compile(StringUtil.escapeToRegexp(modulePattern.substring(6, idx)));
if (idx < modulePattern.length() - 1) {
myModulePattern = Pattern.compile(StringUtil.replace(modulePattern.substring(idx + 1), "*", ".*"));
myModulePattern = Pattern.compile(StringUtil.escapeToRegexp(modulePattern.substring(idx + 1)));
}
} else {
myModulePattern = Pattern.compile(StringUtil.replace(modulePattern, "*", ".*"));
myModulePattern = Pattern.compile(StringUtil.escapeToRegexp(modulePattern));
}
}
myFilePattern = filePattern != null ? Pattern.compile(convertToRegexp(filePattern, '/')) : null;
@@ -137,8 +137,7 @@ public class PackageSetFactoryImpl extends PackageSetFactory {
else if (myLexer.getTokenType() == ScopeTokenTypes.COLON) {
pattern.append(":");
} else {
error(AnalysisScopeBundle.message("error.packageset.token.expectations", getTokenText()));
break;
pattern.append(getTokenText());
}
myLexer.advance();
}