Hydrogen filter now supports trailing wildcard in negative filter.

R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/145663008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
ishell@chromium.org 2014-01-27 12:05:47 +00:00
parent 2c5c08170f
commit 7c4594650b

View File

@ -9862,11 +9862,18 @@ bool JSFunction::PassesFilter(const char* raw_filter) {
Vector<const char> filter = CStrVector(raw_filter); Vector<const char> filter = CStrVector(raw_filter);
if (filter.length() == 0) return name->length() == 0; if (filter.length() == 0) return name->length() == 0;
if (filter[0] == '-') { if (filter[0] == '-') {
// Negative filter.
if (filter.length() == 1) { if (filter.length() == 1) {
return (name->length() != 0); return (name->length() != 0);
} else if (!name->IsUtf8EqualTo(filter.SubVector(1, filter.length()))) { } else if (name->IsUtf8EqualTo(filter.SubVector(1, filter.length()))) {
return true; return false;
} }
if (filter[filter.length() - 1] == '*' &&
name->IsUtf8EqualTo(filter.SubVector(1, filter.length() - 1), true)) {
return false;
}
return true;
} else if (name->IsUtf8EqualTo(filter)) { } else if (name->IsUtf8EqualTo(filter)) {
return true; return true;
} }