@openrewrite/rewrite 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/CONTRIBUTING.md +22 -0
  2. package/LICENSE +201 -0
  3. package/README.md +13 -0
  4. package/dist/src/core/execution.d.ts +35 -0
  5. package/dist/src/core/execution.d.ts.map +1 -0
  6. package/dist/src/core/execution.js +65 -0
  7. package/dist/src/core/execution.js.map +1 -0
  8. package/dist/src/core/index.d.ts +6 -0
  9. package/dist/src/core/index.d.ts.map +1 -0
  10. package/dist/src/core/index.js +22 -0
  11. package/dist/src/core/index.js.map +1 -0
  12. package/dist/src/core/markers.d.ts +56 -0
  13. package/dist/src/core/markers.d.ts.map +1 -0
  14. package/dist/src/core/markers.js +140 -0
  15. package/dist/src/core/markers.js.map +1 -0
  16. package/dist/src/core/parser.d.ts +34 -0
  17. package/dist/src/core/parser.d.ts.map +1 -0
  18. package/dist/src/core/parser.js +106 -0
  19. package/dist/src/core/parser.js.map +1 -0
  20. package/dist/src/core/tree.d.ts +195 -0
  21. package/dist/src/core/tree.d.ts.map +1 -0
  22. package/dist/src/core/tree.js +455 -0
  23. package/dist/src/core/tree.js.map +1 -0
  24. package/dist/src/core/utils.d.ts +12 -0
  25. package/dist/src/core/utils.d.ts.map +1 -0
  26. package/dist/src/core/utils.js +69 -0
  27. package/dist/src/core/utils.js.map +1 -0
  28. package/dist/src/index.d.ts +2 -0
  29. package/dist/src/index.d.ts.map +1 -0
  30. package/dist/src/index.js +3 -0
  31. package/dist/src/index.js.map +1 -0
  32. package/dist/src/java/extensions.d.ts +7 -0
  33. package/dist/src/java/extensions.d.ts.map +1 -0
  34. package/dist/src/java/extensions.js +53 -0
  35. package/dist/src/java/extensions.js.map +1 -0
  36. package/dist/src/java/index.d.ts +4 -0
  37. package/dist/src/java/index.d.ts.map +1 -0
  38. package/dist/src/java/index.js +20 -0
  39. package/dist/src/java/index.js.map +1 -0
  40. package/dist/src/java/markers.d.ts +20 -0
  41. package/dist/src/java/markers.d.ts.map +1 -0
  42. package/dist/src/java/markers.js +54 -0
  43. package/dist/src/java/markers.js.map +1 -0
  44. package/dist/src/java/tree/extensions.d.ts +6 -0
  45. package/dist/src/java/tree/extensions.d.ts.map +1 -0
  46. package/dist/src/java/tree/extensions.js +36 -0
  47. package/dist/src/java/tree/extensions.js.map +1 -0
  48. package/dist/src/java/tree/index.d.ts +4 -0
  49. package/dist/src/java/tree/index.d.ts.map +1 -0
  50. package/dist/src/java/tree/index.js +20 -0
  51. package/dist/src/java/tree/index.js.map +1 -0
  52. package/dist/src/java/tree/support_types.d.ts +396 -0
  53. package/dist/src/java/tree/support_types.d.ts.map +1 -0
  54. package/dist/src/java/tree/support_types.js +450 -0
  55. package/dist/src/java/tree/support_types.js.map +1 -0
  56. package/dist/src/java/tree/tree.d.ts +3377 -0
  57. package/dist/src/java/tree/tree.d.ts.map +1 -0
  58. package/dist/src/java/tree/tree.js +4613 -0
  59. package/dist/src/java/tree/tree.js.map +1 -0
  60. package/dist/src/java/tree/types.d.ts +80 -0
  61. package/dist/src/java/tree/types.d.ts.map +1 -0
  62. package/dist/src/java/tree/types.js +138 -0
  63. package/dist/src/java/tree/types.js.map +1 -0
  64. package/dist/src/java/visitor.d.ts +82 -0
  65. package/dist/src/java/visitor.d.ts.map +1 -0
  66. package/dist/src/java/visitor.js +872 -0
  67. package/dist/src/java/visitor.js.map +1 -0
  68. package/dist/src/javascript/extensions.d.ts +12 -0
  69. package/dist/src/javascript/extensions.d.ts.map +1 -0
  70. package/dist/src/javascript/extensions.js +60 -0
  71. package/dist/src/javascript/extensions.js.map +1 -0
  72. package/dist/src/javascript/index.d.ts +6 -0
  73. package/dist/src/javascript/index.d.ts.map +1 -0
  74. package/dist/src/javascript/index.js +22 -0
  75. package/dist/src/javascript/index.js.map +1 -0
  76. package/dist/src/javascript/markers.d.ts +2 -0
  77. package/dist/src/javascript/markers.d.ts.map +1 -0
  78. package/dist/src/javascript/markers.js +3 -0
  79. package/dist/src/javascript/markers.js.map +1 -0
  80. package/dist/src/javascript/parser.d.ts +268 -0
  81. package/dist/src/javascript/parser.d.ts.map +1 -0
  82. package/dist/src/javascript/parser.js +1137 -0
  83. package/dist/src/javascript/parser.js.map +1 -0
  84. package/dist/src/javascript/parserUtils.d.ts +7 -0
  85. package/dist/src/javascript/parserUtils.d.ts.map +1 -0
  86. package/dist/src/javascript/parserUtils.js +165 -0
  87. package/dist/src/javascript/parserUtils.js.map +1 -0
  88. package/dist/src/javascript/projectParser.d.ts +25 -0
  89. package/dist/src/javascript/projectParser.d.ts.map +1 -0
  90. package/dist/src/javascript/projectParser.js +149 -0
  91. package/dist/src/javascript/projectParser.js.map +1 -0
  92. package/dist/src/javascript/projectParserMain.d.ts +3 -0
  93. package/dist/src/javascript/projectParserMain.d.ts.map +1 -0
  94. package/dist/src/javascript/projectParserMain.js +59 -0
  95. package/dist/src/javascript/projectParserMain.js.map +1 -0
  96. package/dist/src/javascript/tree/extensions.d.ts +4 -0
  97. package/dist/src/javascript/tree/extensions.d.ts.map +1 -0
  98. package/dist/src/javascript/tree/extensions.js +80 -0
  99. package/dist/src/javascript/tree/extensions.js.map +1 -0
  100. package/dist/src/javascript/tree/index.d.ts +3 -0
  101. package/dist/src/javascript/tree/index.d.ts.map +1 -0
  102. package/dist/src/javascript/tree/index.js +19 -0
  103. package/dist/src/javascript/tree/index.js.map +1 -0
  104. package/dist/src/javascript/tree/support_types.d.ts +184 -0
  105. package/dist/src/javascript/tree/support_types.d.ts.map +1 -0
  106. package/dist/src/javascript/tree/support_types.js +224 -0
  107. package/dist/src/javascript/tree/support_types.js.map +1 -0
  108. package/dist/src/javascript/tree/tree.d.ts +1173 -0
  109. package/dist/src/javascript/tree/tree.d.ts.map +1 -0
  110. package/dist/src/javascript/tree/tree.js +1590 -0
  111. package/dist/src/javascript/tree/tree.js.map +1 -0
  112. package/dist/src/javascript/typeMapping.d.ts +16 -0
  113. package/dist/src/javascript/typeMapping.d.ts.map +1 -0
  114. package/dist/src/javascript/typeMapping.js +120 -0
  115. package/dist/src/javascript/typeMapping.js.map +1 -0
  116. package/dist/src/javascript/visitor.d.ts +41 -0
  117. package/dist/src/javascript/visitor.d.ts.map +1 -0
  118. package/dist/src/javascript/visitor.js +360 -0
  119. package/dist/src/javascript/visitor.js.map +1 -0
  120. package/dist/src/json/extensions.d.ts +6 -0
  121. package/dist/src/json/extensions.d.ts.map +1 -0
  122. package/dist/src/json/extensions.js +11 -0
  123. package/dist/src/json/extensions.js.map +1 -0
  124. package/dist/src/json/index.d.ts +5 -0
  125. package/dist/src/json/index.d.ts.map +1 -0
  126. package/dist/src/json/index.js +21 -0
  127. package/dist/src/json/index.js.map +1 -0
  128. package/dist/src/json/markers.d.ts +2 -0
  129. package/dist/src/json/markers.d.ts.map +1 -0
  130. package/dist/src/json/markers.js +3 -0
  131. package/dist/src/json/markers.js.map +1 -0
  132. package/dist/src/json/support_types.d.ts +19 -0
  133. package/dist/src/json/support_types.d.ts.map +1 -0
  134. package/dist/src/json/support_types.js +47 -0
  135. package/dist/src/json/support_types.js.map +1 -0
  136. package/dist/src/json/tree.d.ts +187 -0
  137. package/dist/src/json/tree.d.ts.map +1 -0
  138. package/dist/src/json/tree.js +393 -0
  139. package/dist/src/json/tree.js.map +1 -0
  140. package/dist/src/json/visitor.d.ts +16 -0
  141. package/dist/src/json/visitor.d.ts.map +1 -0
  142. package/dist/src/json/visitor.js +83 -0
  143. package/dist/src/json/visitor.js.map +1 -0
  144. package/dist/src/yaml/index.d.ts +4 -0
  145. package/dist/src/yaml/index.d.ts.map +1 -0
  146. package/dist/src/yaml/index.js +20 -0
  147. package/dist/src/yaml/index.js.map +1 -0
  148. package/dist/src/yaml/markers.d.ts +2 -0
  149. package/dist/src/yaml/markers.d.ts.map +1 -0
  150. package/dist/src/yaml/markers.js +3 -0
  151. package/dist/src/yaml/markers.js.map +1 -0
  152. package/dist/src/yaml/tree/extensions.d.ts +2 -0
  153. package/dist/src/yaml/tree/extensions.d.ts.map +1 -0
  154. package/dist/src/yaml/tree/extensions.js +3 -0
  155. package/dist/src/yaml/tree/extensions.js.map +1 -0
  156. package/dist/src/yaml/tree/index.d.ts +3 -0
  157. package/dist/src/yaml/tree/index.d.ts.map +1 -0
  158. package/dist/src/yaml/tree/index.js +19 -0
  159. package/dist/src/yaml/tree/index.js.map +1 -0
  160. package/dist/src/yaml/tree/support_types.d.ts +37 -0
  161. package/dist/src/yaml/tree/support_types.d.ts.map +1 -0
  162. package/dist/src/yaml/tree/support_types.js +25 -0
  163. package/dist/src/yaml/tree/support_types.js.map +1 -0
  164. package/dist/src/yaml/tree/tree.d.ts +451 -0
  165. package/dist/src/yaml/tree/tree.d.ts.map +1 -0
  166. package/dist/src/yaml/tree/tree.js +551 -0
  167. package/dist/src/yaml/tree/tree.js.map +1 -0
  168. package/dist/src/yaml/visitor.d.ts +16 -0
  169. package/dist/src/yaml/visitor.d.ts.map +1 -0
  170. package/dist/src/yaml/visitor.js +64 -0
  171. package/dist/src/yaml/visitor.js.map +1 -0
  172. package/package.json +40 -0
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Parser = exports.ParserInput = void 0;
27
+ exports.requirePrintEqualsInput = requirePrintEqualsInput;
28
+ const fs = __importStar(require("fs"));
29
+ const tree_1 = require("./tree");
30
+ const execution_1 = require("./execution");
31
+ class ParserInput {
32
+ constructor(path, fileAttributes, synthetic, source) {
33
+ this._path = path;
34
+ this._fileAttributes = fileAttributes;
35
+ this._synthetic = synthetic;
36
+ this._source = source;
37
+ }
38
+ get path() {
39
+ return this._path;
40
+ }
41
+ get fileAttributes() {
42
+ return this._fileAttributes;
43
+ }
44
+ get synthetic() {
45
+ return this._synthetic;
46
+ }
47
+ get source() {
48
+ return this._source;
49
+ }
50
+ }
51
+ exports.ParserInput = ParserInput;
52
+ class Parser {
53
+ parse(sourceFilesPaths, relativeTo, ctx) {
54
+ const inputs = [];
55
+ for (const path of sourceFilesPaths) {
56
+ inputs.push(new ParserInput(path, null, false, () => fs.readFileSync(path)));
57
+ }
58
+ return this.parseInputs(inputs, relativeTo, ctx);
59
+ }
60
+ parseStrings(...sources) {
61
+ return this.parseStringsWithContext(new execution_1.InMemoryExecutionContext(), ...sources);
62
+ }
63
+ parseStringsWithContext(ctx, ...sources) {
64
+ const inputs = sources.map(source => {
65
+ const path = this.sourcePathFromSourceText(performance.now().toString(), source);
66
+ return new ParserInput(path, null, true, () => Buffer.from(source));
67
+ });
68
+ return this.parseInputs(inputs, null, ctx);
69
+ }
70
+ acceptInput(parserInput) {
71
+ return parserInput.synthetic || this.accept(parserInput.path);
72
+ }
73
+ acceptedInputs(inputs) {
74
+ const result = [];
75
+ for (const input of inputs) {
76
+ if (this.acceptInput(input)) {
77
+ result.push(input);
78
+ }
79
+ }
80
+ return result;
81
+ }
82
+ reset() {
83
+ return this;
84
+ }
85
+ getCharset(ctx) {
86
+ return ctx.getMessage(execution_1.ExecutionContext.CHARSET, 'utf-8');
87
+ }
88
+ }
89
+ exports.Parser = Parser;
90
+ (function (Parser) {
91
+ class Builder {
92
+ get sourceFileType() {
93
+ return this._sourceFileType;
94
+ }
95
+ }
96
+ Parser.Builder = Builder;
97
+ })(Parser || (exports.Parser = Parser = {}));
98
+ function requirePrintEqualsInput(parser, sourceFile, parserInput, relativeTo, ctx) {
99
+ const required = ctx.getMessage(execution_1.ExecutionContext.REQUIRE_PRINT_EQUALS_INPUT, true);
100
+ if (required && !sourceFile.printEqualsInput(parserInput, ctx)) {
101
+ const diff = execution_1.Result.diff(parserInput.source().toString(), sourceFile.printAll(), parserInput.path);
102
+ return tree_1.ParseError.build(parser, parserInput, relativeTo, ctx, new Error(`${sourceFile.sourcePath} is not print idempotent. \n${diff}`), sourceFile);
103
+ }
104
+ return sourceFile;
105
+ }
106
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/core/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ import { Marker, Markers } from "./markers";
2
+ import { UUID } from "./utils";
3
+ import { Parser, ParserInput } from "./parser";
4
+ import { ExecutionContext } from "./execution";
5
+ export interface Tree {
6
+ get id(): UUID;
7
+ withId(id: UUID): Tree;
8
+ get markers(): Markers;
9
+ withMarkers(markers: Markers): Tree;
10
+ isAcceptable<P>(v: TreeVisitor<Tree, P>, p: P): boolean;
11
+ accept<R extends Tree, P>(v: TreeVisitor<R, P>, p: P): R | null;
12
+ }
13
+ export declare function isTree(tree: any): tree is Tree;
14
+ export declare abstract class TreeVisitor<T extends Tree, P> {
15
+ private _cursor;
16
+ private _visitCount;
17
+ private _afterVisit;
18
+ constructor();
19
+ get cursor(): Cursor;
20
+ set cursor(cursor: Cursor);
21
+ defaultValue(tree: Tree | null, p: P): T | null;
22
+ visit(tree: Tree | null, p: P, parent?: Cursor): T | null;
23
+ isAcceptable(sourceFile: SourceFile, p: P): boolean;
24
+ preVisit(tree: T, p: P): T | null;
25
+ postVisit(tree: T, p: P): T | null;
26
+ protected visitAndCast<T extends Tree>(t: T | null, p: P): T | null;
27
+ visitMarkers(markers: Markers | undefined, p: P): Markers;
28
+ visitMarker<M>(marker: M, p: P): M;
29
+ isAdaptableTo<V extends TreeVisitor<any, any>>(adaptTo: Function & {
30
+ prototype: V;
31
+ }): boolean;
32
+ adapt<R extends Tree, V extends TreeVisitor<R, P>>(adaptTo: Function & {
33
+ prototype: V;
34
+ }): V;
35
+ static noop<T extends Tree, P>(): NoopVisitor<T, P>;
36
+ }
37
+ declare class NoopVisitor<T extends Tree, P> extends TreeVisitor<T, P> {
38
+ visit(tree: Tree | null, p: P, parent?: Cursor): T | null;
39
+ }
40
+ type Constructor<T = {}> = (abstract new (...args: any[]) => T) | ((obj: any) => obj is T) | symbol;
41
+ export declare class Cursor {
42
+ static ROOT_VALUE: String;
43
+ private readonly _parent;
44
+ private readonly _value;
45
+ private _messages;
46
+ constructor(parent: Cursor | null, value: Object);
47
+ get parent(): Cursor | null;
48
+ value<T>(): T;
49
+ fork(): Cursor;
50
+ firstEnclosing<T>(type: Constructor<T>): T | null;
51
+ getMessage<T>(key: string, defaultValue?: T | null): T | null;
52
+ }
53
+ export declare class Checksum {
54
+ private readonly _algorithm;
55
+ private readonly _value;
56
+ constructor(algorithm: string, value: ArrayBuffer);
57
+ get algorithm(): string;
58
+ get value(): ArrayBuffer;
59
+ }
60
+ export declare class FileAttributes {
61
+ private readonly _creationTime;
62
+ private readonly _lastModifiedTime;
63
+ private readonly _lastAccessTime;
64
+ private readonly _isReadable;
65
+ private readonly _isWritable;
66
+ private readonly _isExecutable;
67
+ private readonly _size;
68
+ constructor(creationTime: Date | undefined, lastModifiedTime: Date | undefined, lastAccessTime: Date | undefined, isReadable: boolean, isWritable: boolean, isExecutable: boolean, size: number);
69
+ get creationTime(): Date | undefined;
70
+ withCreationTime(creationTime: Date | undefined): FileAttributes;
71
+ get lastModifiedTime(): Date | undefined;
72
+ withLastModifiedTime(lastModifiedTime: Date | undefined): FileAttributes;
73
+ get lastAccessTime(): Date | undefined;
74
+ withLastAccessTime(lastAccessTime: Date | undefined): FileAttributes;
75
+ get isReadable(): boolean;
76
+ withReadable(readable: boolean): FileAttributes;
77
+ get isWritable(): boolean;
78
+ withWritable(writable: boolean): FileAttributes;
79
+ get isExecutable(): boolean;
80
+ withExecutable(executable: boolean): FileAttributes;
81
+ get size(): number;
82
+ withSize(size: number): FileAttributes;
83
+ }
84
+ export declare function isSourceFile(tree: any & Tree): tree is SourceFile;
85
+ export interface SourceFile extends Tree {
86
+ get sourcePath(): string;
87
+ withSourcePath(sourcePath: string): SourceFile;
88
+ get charsetName(): string | null;
89
+ withCharsetName(charset: string | null): SourceFile;
90
+ get charsetBomMarked(): boolean;
91
+ withCharsetBomMarked(isCharsetBomMarked: boolean): SourceFile;
92
+ get checksum(): Checksum | null;
93
+ withChecksum(checksum: Checksum | null): SourceFile;
94
+ get fileAttributes(): FileAttributes | null;
95
+ withFileAttributes(fileAttributes: FileAttributes | null): SourceFile;
96
+ printEqualsInput(parserInput: ParserInput, ctx: ExecutionContext): boolean;
97
+ printAll(): string;
98
+ print<P>(cursor: Cursor, capture: PrintOutputCapture<P>): string;
99
+ printer<P>(cursor: Cursor): TreeVisitor<any, PrintOutputCapture<P>>;
100
+ }
101
+ type AbstractConstructor<T = {}> = abstract new (...args: any[]) => T;
102
+ export declare function SourceFileMixin<TBase extends AbstractConstructor<Tree>>(Base: TBase): ((abstract new (...args: any[]) => {
103
+ readonly sourcePath: string;
104
+ withSourcePath(sourcePath: string): SourceFile;
105
+ readonly charsetName: string | null;
106
+ withCharsetName(charset: string | null): SourceFile;
107
+ readonly charsetBomMarked: boolean;
108
+ withCharsetBomMarked(isCharsetBomMarked: boolean): SourceFile;
109
+ readonly checksum: Checksum | null;
110
+ withChecksum(checksum: Checksum | null): SourceFile;
111
+ readonly fileAttributes: FileAttributes | null;
112
+ withFileAttributes(fileAttributes: FileAttributes | null): SourceFile;
113
+ printEqualsInput(parserInput: ParserInput, ctx: ExecutionContext): boolean;
114
+ printAll(): string;
115
+ print<P>(cursor: Cursor, capture: PrintOutputCapture<P>): string;
116
+ printer<P>(cursor: Cursor): TreeVisitor<any, PrintOutputCapture<P>>;
117
+ readonly id: Uint8Array;
118
+ withId(id: UUID): Tree;
119
+ readonly markers: Markers;
120
+ withMarkers(markers: Markers): Tree;
121
+ isAcceptable<P>(v: TreeVisitor<Tree, P>, p: P): boolean;
122
+ accept<R extends Tree, P>(v: TreeVisitor<R, P>, p: P): R | null;
123
+ }) & {
124
+ isTree: boolean;
125
+ isSourceFile: boolean;
126
+ }) & TBase;
127
+ type CommentWrapper = (input: string) => string;
128
+ export interface MarkerPrinter {
129
+ beforeSyntax(marker: Marker, cursor: Cursor, commentWrapper: CommentWrapper): string;
130
+ beforePrefix(marker: Marker, cursor: Cursor, commentWrapper: CommentWrapper): string;
131
+ afterSyntax(marker: Marker, cursor: Cursor, commentWrapper: CommentWrapper): string;
132
+ }
133
+ export declare class PrintOutputCapture<P> {
134
+ private readonly _context;
135
+ private readonly _markerPrinter;
136
+ private readonly _out;
137
+ constructor(p: P, markerPrinter?: MarkerPrinter);
138
+ get markerPrinter(): MarkerPrinter;
139
+ get out(): string;
140
+ append(text: string | undefined): PrintOutputCapture<P>;
141
+ clone(): PrintOutputCapture<P>;
142
+ }
143
+ export declare abstract class PrinterFactory {
144
+ private static _current;
145
+ static get current(): PrinterFactory;
146
+ static set current(printerFactory: PrinterFactory);
147
+ abstract createPrinter<P>(cursor: Cursor): TreeVisitor<Tree, PrintOutputCapture<P>>;
148
+ }
149
+ export declare class ParseError implements SourceFile {
150
+ static isTree: boolean;
151
+ static isParseError: boolean;
152
+ static isSourceFile: boolean;
153
+ private readonly _id;
154
+ private readonly _markers;
155
+ private readonly _sourcePath;
156
+ private readonly _fileAttributes;
157
+ private readonly _charsetName;
158
+ private readonly _charsetBomMarked;
159
+ private readonly _checksum;
160
+ private readonly _text;
161
+ private readonly _erroneous;
162
+ constructor(id: UUID, markers: Markers, sourcePath: string, fileAttributes: FileAttributes | null, charsetName: string | null, charsetBomMarked: boolean, checksum: Checksum | null, text: string, erroneous: SourceFile | null);
163
+ static build(parser: Parser, input: ParserInput, relativeTo: string | null, ctx: ExecutionContext, exception: Error, erroneous?: SourceFile | null): ParseError;
164
+ printEqualsInput(parserInput: ParserInput, ctx: any): boolean;
165
+ isAcceptable<P>(v: TreeVisitor<Tree, P>, p: P): boolean;
166
+ get id(): UUID;
167
+ withId(id: UUID): ParseError;
168
+ get markers(): Markers;
169
+ withMarkers(markers: Markers): ParseError;
170
+ get sourcePath(): string;
171
+ withSourcePath(sourcePath: string): ParseError;
172
+ get fileAttributes(): FileAttributes | null;
173
+ withFileAttributes(fileAttributes: FileAttributes | null): ParseError;
174
+ get charsetName(): string | null;
175
+ withCharsetName(charsetName: string | null): ParseError;
176
+ get charsetBomMarked(): boolean;
177
+ withCharsetBomMarked(charsetBomMarked: boolean): ParseError;
178
+ get checksum(): Checksum | null;
179
+ withChecksum(checksum: Checksum | null): ParseError;
180
+ get text(): string;
181
+ withText(text: string): ParseError;
182
+ get erroneous(): SourceFile | null;
183
+ withErroneous(erroneous: SourceFile | null): ParseError;
184
+ printAll(): string;
185
+ print<P>(cursor: Cursor, capture: PrintOutputCapture<P>): string;
186
+ printer<T>(cursor: Cursor): TreeVisitor<Tree, PrintOutputCapture<T>>;
187
+ accept<R extends Tree, P>(v: TreeVisitor<R, P>, p: P): R | null;
188
+ }
189
+ export declare function isParseError(tree: any): tree is ParseError;
190
+ export declare class ParseErrorVisitor<P> extends TreeVisitor<Tree, P> {
191
+ isAcceptable(sourceFile: SourceFile, p: P): boolean;
192
+ visitParseError(e: ParseError, p: P): ParseError;
193
+ }
194
+ export {};
195
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../src/core/tree.ts"],"names":[],"mappings":"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"}