forked from AssemblyScript/assemblyscript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtransform.d.ts
43 lines (30 loc) · 1.2 KB
/
transform.d.ts
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
34
35
36
37
38
39
40
41
42
43
/**
* @fileoverview Compiler transform interface definitions.
* @license Apache-2.0
*/
import { Program, Parser, Module } from "..";
import { OutputStream } from "./asc";
export abstract class Transform {
/** Program reference. */
readonly program: Program;
/** Base directory. */
readonly baseDir: string;
/** Output stream used by the compiler. */
readonly stdout: OutputStream;
/** Error stream used by the compiler. */
readonly stderr: OutputStream;
/** Logs a message to console. */
readonly log: typeof console.log;
/** Writes a file to disk. */
writeFile(filename: string, contents: string | Uint8Array, baseDir: string): boolean;
/** Reads a file from disk. */
readFile(filename: string, baseDir: string): string | null;
/** Lists all files in a directory. */
listFiles(dirname: string, baseDir: string): string[] | null;
/** Called when parsing is complete, before a program is instantiated from the AST. */
afterParse?(parser: Parser): void;
/** Called after the program is instantiated. */
afterInitialize?(program: Program): void;
/** Called when compilation is complete, before the module is being validated. */
afterCompile?(module: Module): void;
}