mirror of
https://github.com/Instadapp/Swap-Aggregator-Subgraph.git
synced 2024-07-29 21:57:12 +00:00
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
/**
|
|
* @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;
|
|
}
|