var qualified = 10; // NOTE: JSM cannot have unqualified name. 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"), prop: !!Object.getOwnPropertyDescriptor(env, "prop"), lexical: !!Object.getOwnPropertyDescriptor(env, "lexical"), }); env = funcs.getEnclosingEnvironmentObject(env); } const EXPORTED_SYMBOLS = ["envs"];