Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import type IBaseSymbol from "./IBaseSymbol";
import type IFunctionSymbol from "./IFunctionSymbol";
import type TVisibility from "../TVisibility";
/**
* Symbol representing a scope (namespace) definition.
* Scopes group related functions and variables.
*
* Note: IScopeSymbol has circular references with IFunctionSymbol.
* Functions have a scope, scopes contain functions.
*/
interface IScopeSymbol extends IBaseSymbol {
/** Discriminator narrowed to "scope" */
readonly kind: "scope";
/** Parent scope (global scope's parent is itself) */
readonly parent: IScopeSymbol;
/** List of member names (local names, not transpiled C names) */
readonly members: string[];
/** Functions in this scope */
readonly functions: IFunctionSymbol[];
/** Variables in this scope */
readonly variables: unknown[];
/** Visibility of each member */
readonly memberVisibility: ReadonlyMap<string, TVisibility>;
}
export default IScopeSymbol;
|