rem: dumpln (" * ProgID: '" + cls.name + "'"); 
add: dumpln (" * ContractID: '" + cls.name + "'"); 
context: function bruteForceEnumeration(ignore){    var interfaceInfo = new Object();loop: for (var c in Components.classes)    {        var cls = Components.classes[c];        dumpln ("**");        dumpln (" * ProgID: '" + cls.name + "'");        dumpln (" * CLSID: " + cls.number);        if(ignore) {            for(var i = 0; i < ignore.length; i++) {                if(0 == cls.name.indexOf(ignore[i])) {                    dumpln (" * This one might cause a crash - SKIPPING");                    continue loop;                                }            }        }        try        {            var ins = cls.createInstance();            for (var i in Components.interfaces)            {                try                {                    qi = ins.QueryInterface (Components.interfaces[i]);                    dumpln (" * Supports Interface: " + i);                    if (typeof interfaceInfo[i] == "undefined")                    {                        interfaceInfo[i] = dumpObject (qi, " ** ");                    }                    dumpln (interfaceInfo[i]);                }                catch (e)                {                    /* nada */                }            }        }        catch (e)        {            dumpln (" * createInstance FAILED:");            dumpln (dumpObject (e));        }                dumpln ("");            }    dumpln ("**");    dumpln (" * Interface Information :");    dumpln ("");    // dump of giant string does not always work, split it up.    var bulk = dumpObject (interfaceInfo, (void 0), "::\n")    var lines = bulk.split("\n");    for(var i = 0; i < lines.length; i++)        dumpln (lines[i]);    }
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/6cc70ebd6c97bd0b2fe48c31f579e855387ced9d/xpctest_enum_create.js/buggy/js/src/xpconnect/tests/js/old/xpctest_enum_create.js