123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- namespace Jint.Runtime.Debugger
- {
- /// <summary>
- /// Variable scope type.
- /// These mirror <see href="https://chromedevtools.github.io/devtools-protocol/tot/Debugger/#type-Scope">Chrome DevTools Protocol</see>.
- /// </summary>
- public enum DebugScopeType
- {
- /// <summary>
- /// Global scope bindings.
- /// </summary>
- /// <remarks>
- /// A scope chain will only include one scope of this type.
- /// </remarks>
- Global,
- /// <summary>
- /// Block scope bindings (let/const) defined at top level.
- /// </summary>
- /// <remarks>
- /// A scope chain will only include one scope of this type.
- /// </remarks>
- Script,
- /// <summary>
- /// Function local bindings.
- /// </summary>
- /// <remarks>
- /// Function scoped variables.
- /// Note that variables in outer functions are in <see cref="Closure"/> scopes.
- /// A scope chain will only include one scope of this type.
- /// </remarks>
- Local,
- /// <summary>
- /// Block scoped bindings.
- /// </summary>
- /// <remarks>
- /// This scope is not used for block scoped variables (let/const) declared at the top level of the <see cref="Global">global</see> 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.
- /// </remarks>
- Block,
- /// <summary>
- /// Catch scope bindings.
- /// </summary>
- /// <remarks>
- /// This scope only includes the argument of a <c>catch</c> clause in a <c>try/catch</c> statement.
- /// A scope chain may include more than one scope of this type.
- /// </remarks>
- Catch,
- /// <summary>
- /// Function scope bindings in outer functions.
- /// </summary>
- /// <remarks>
- /// 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.
- /// </remarks>
- Closure,
- /// <summary>
- /// With scope bindings.
- /// </summary>
- /// <remarks>
- /// Includes the bindings created from properties of object used as argument to a <c>with</c> statement.
- /// A scope chain may include more than one scope of this type.
- /// </remarks>
- With,
- /// <summary>
- /// Eval scope bindings.
- /// </summary>
- /// <remarks>Variables declared in an evaluated string. Not implemented.</remarks>
- Eval,
- /// <summary>
- /// Module scope bindings.
- /// </summary>
- Module,
- /// <summary>
- /// WebAssembly expression stack bindings.
- /// </summary>
- /// <remarks>Not currently implemented by Jint.</remarks>
- WasmExpressionStack
- }
- }
|