import * as Shift from 'shift-ast'; import Array from './array'; export default class Scope { node: Shift.Node; parent?: Scope; children: Map; arrays: Map; /** * Creates a new scope. * @param node The node that created the scope. * @param parent The parent scope (optional). */ constructor(node: Shift.Node, parent?: Scope); /** * Searches for an array by name. * @param name The name of the array. */ findArray(name: string): Array | null; /** * Adds an array. * @param array The array to be added. */ addArray(array: Array): void; }