Skip to content

Commit 106a4b0

Browse files
authored
Expose ASTBuilder (#1222)
1 parent 5c7e8d4 commit 106a4b0

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

src/extra/ast.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -905,7 +905,7 @@ export class ASTBuilder {
905905
sb.push("class");
906906
}
907907
var typeParameters = node.typeParameters;
908-
if (typeParameters && typeParameters.length) {
908+
if (typeParameters != null && typeParameters.length > 0) {
909909
sb.push("<");
910910
this.visitTypeParameter(typeParameters[0]);
911911
for (let i = 1, k = typeParameters.length; i < k; ++i) {
@@ -1000,9 +1000,10 @@ export class ASTBuilder {
10001000

10011001
visitEnumValueDeclaration(node: EnumValueDeclaration): void {
10021002
this.visitIdentifierExpression(node.name);
1003-
if (node.initializer) {
1003+
var initializer = node.initializer;
1004+
if (initializer) {
10041005
this.sb.push(" = ");
1005-
this.visitNode(node.initializer);
1006+
this.visitNode(initializer);
10061007
}
10071008
}
10081009

@@ -1028,7 +1029,7 @@ export class ASTBuilder {
10281029
sb.push("declare ");
10291030
}
10301031
var members = node.members;
1031-
if (members && members.length) {
1032+
if (members != null && members.length > 0) {
10321033
let numMembers = members.length;
10331034
sb.push("export {\n");
10341035
let indentLevel = ++this.indentLevel;
@@ -1328,7 +1329,7 @@ export class ASTBuilder {
13281329
sb.push("interface ");
13291330
this.visitIdentifierExpression(node.name);
13301331
var typeParameters = node.typeParameters;
1331-
if (typeParameters && typeParameters.length) {
1332+
if (typeParameters != null && typeParameters.length > 0) {
13321333
sb.push("<");
13331334
this.visitTypeParameter(typeParameters[0]);
13341335
for (let i = 1, k = typeParameters.length; i < k; ++i) {

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,8 @@ export * from "./program";
287287
export * from "./resolver";
288288
export * from "./tokenizer";
289289
export * from "./types";
290+
// TODO: When vTables are pulled, perhaps it would be better to extend an ASTWalker
291+
export * from "./extra/ast";
290292
import * as util from "./util/index";
291293
export { util };
292294

0 commit comments

Comments
 (0)