namespace Jint.Runtime.Debugger; /// /// Variable scope type. /// These mirror Chrome DevTools Protocol. /// public enum DebugScopeType { /// /// Global scope bindings. /// /// /// A scope chain will only include one scope of this type. /// Global, /// /// Block scope bindings (let/const) defined at top level. /// /// /// A scope chain will only include one scope of this type. /// Script, /// /// Function local bindings. /// /// /// Function scoped variables. /// Note that variables in outer functions are in scopes. /// A scope chain will only include one scope of this type. /// Local, /// /// Block scoped bindings. /// /// /// This scope is not used for block scoped variables (let/const) declared at the top level of the global scope. /// Unlike Chromium V8, it *is* used as a separate scope for block scoped variables declared at the top level of a function. /// A scope chain may include more than one scope of this type. /// Block, /// /// Catch scope bindings. /// /// /// This scope only includes the argument of a catch clause in a try/catch statement. /// A scope chain may include more than one scope of this type. /// Catch, /// /// Function scope bindings in outer functions. /// /// /// Unlike Chromium V8, which will optimize variables out that aren't referenced from the inner scope, /// Jint includes local variables from the outer function in this scope. /// A scope chain may include more than one scope of this type. /// Closure, /// /// With scope bindings. /// /// /// Includes the bindings created from properties of object used as argument to a with statement. /// A scope chain may include more than one scope of this type. /// With, /// /// Eval scope bindings. /// /// Variables declared in an evaluated string. Not implemented. Eval, /// /// Module scope bindings. /// Module, /// /// WebAssembly expression stack bindings. /// /// Not currently implemented by Jint. WasmExpressionStack }