boolean (@NotNull FilePath filePath) { if (myType == IgnoreSettingsType.MASK) { return myPattern.matcher(filePath.getName()).matches(); } else { // quick check for 'file' == exact match pattern if (IgnoreSettingsType.FILE.equals(myType) && !StringUtil.equals(myFilenameIfFile, filePath.getName())) return false; FilePath selector = resolve(); if (selector == null) return false; if (myType == IgnoreSettingsType.FILE) { return Comparing.equal(selector, filePath); } else { if ("./".equals(myPath)) { // special case for ignoring the project base dir (IDEADEV-16056) return !filePath.isDirectory() && Comparing.equal(filePath.getParentPath(), selector); } return FileUtil.startsWith(filePath.getPath(), selector.getPath()); } } }