IVisitedLexicalScopeNodesStackStorage.ts 794 B

123456789101112131415161718192021
  1. import { TNodeWithLexicalScopeAndStatements } from '../../../types/node/TNodeWithLexicalScopeAndStatements';
  2. import { IArrayStorage } from '../IArrayStorage';
  3. // eslint-disable-next-line @typescript-eslint/no-empty-interface
  4. export interface IVisitedLexicalScopeNodesStackStorage extends IArrayStorage<TNodeWithLexicalScopeAndStatements> {
  5. /**
  6. * @returns {TNodeWithLexicalScopeAndStatements | undefined}
  7. */
  8. getLastElement (): TNodeWithLexicalScopeAndStatements | undefined;
  9. /**
  10. * @returns {TNodeWithLexicalScopeAndStatements | undefined}
  11. */
  12. pop (): TNodeWithLexicalScopeAndStatements | undefined;
  13. /**
  14. * @param {TNodeWithLexicalScopeAndStatements} lexicalScopeNode
  15. */
  16. push (lexicalScopeNode: TNodeWithLexicalScopeAndStatements): void;
  17. }