/** * Source that is not VelarScript: an embedded JavaScript literal, a token an * extension's own scanner claims, and the `#name` a JavaScript private member * is written with inside one. * * D115 §三 / D114 R1f: the embedded-source half of `lexer.ts`. */ import { scanEmbeddedJavaScriptLiteral } from "../embedded-javascript.ts"; import type { CompilerLexicalExtension } from "../extension.ts"; import { type Advisory, type Diagnostic } from "../diagnostic.ts"; import { type Token } from "../token.ts"; /** Everything this half of the lexer asks of the scanner that hosts it, and nothing more. */ export interface EmbeddedScannersHost { advance(): string; readonly advisories: Advisory[]; atLineStart: boolean; readonly diagnostics: { push(...reports: readonly Diagnostic[]): void; }; readonly extensionScanners: NonNullable[]; readonly indentStack: number[]; index: number; isIdentifierPart(character: string): boolean; isIdentifierStart(character: string): boolean; peek(offset?: number): string; readonly text: string; readonly tokens: Token[]; } export declare class EmbeddedScanners { private readonly host; constructor(host: EmbeddedScannersHost); readEmbeddedJavaScript(scanned: NonNullable>): void; readExtensionToken(): boolean; readJavaScriptPrivateIdentifier(start: number): boolean; } //# sourceMappingURL=embedded.d.ts.map