Source code

Revision control

Copy as Markdown

Other Tools

const target = {};
Services.scriptloader.loadSubScript(`data:,
var qualified = 10;
unqualified = 20;
let lexical = 30;
this.prop = 40;
const funcs = Cu.getJSTestingFunctions();
const envs = [];
let env = funcs.getInnerMostEnvironmentObject();
while (env) {
envs.push({
type: funcs.getEnvironmentObjectType(env) || "*BackstagePass*",
qualified: !!Object.getOwnPropertyDescriptor(env, "qualified"),
unqualified: !!Object.getOwnPropertyDescriptor(env, "unqualified"),
lexical: !!Object.getOwnPropertyDescriptor(env, "lexical"),
prop: !!Object.getOwnPropertyDescriptor(env, "prop"),
});
env = funcs.getEnclosingEnvironmentObject(env);
}
this.ENVS = envs;
`, target);
const envs = target.ENVS;
const EXPORTED_SYMBOLS = ["envs"];