bool JavaAssertions::enabled(const char* classname, bool systemClass) { assert(classname != 0, "must have a classname"); // This will be slow if the number of assertion options on the command line is // large--it traverses two lists, one of them multiple times. Could use a // single n-ary tree instead of lists if someone ever notices. // First check options that apply to classes. If we find a match we're done. OptionList* p; if (p = match_class(classname)) { trace(classname, "class", p->name(), p->enabled()); return p->enabled(); } // Now check packages, from most specific to least. if (p = match_package(classname)) { trace(classname, "package", p->name(), p->enabled()); return p->enabled(); } // No match. Return the default status. bool result = systemClass ? systemClassDefault() : userClassDefault(); trace(classname, systemClass ? "system" : "user", "default", result); return result; }