diff --git a/src/services/syntax/SyntaxGenerator.js b/src/services/syntax/SyntaxGenerator.js
index 023547dae42..f4f7b43074a 100644
--- a/src/services/syntax/SyntaxGenerator.js
+++ b/src/services/syntax/SyntaxGenerator.js
@@ -2275,6 +2275,7 @@ function generateBrands(definition, accessibility) {
types.push(type);
}
}
+ types.push("_syntaxNodeOrTokenBrand");
if (types.length > 0) {
properties += " ";
for (var i = 0; i < types.length; i++) {
@@ -2583,7 +2584,6 @@ function generateNode(definition, abstract) {
}
result += " }\r\n";
result += generateKindMethod(definition);
- result += generateAcceptMethod(definition);
result += " }";
return result;
}
@@ -2702,7 +2702,7 @@ function generateRewriter() {
}
function generateWalker() {
var result = "";
- result += "///\r\n" + "\r\n" + "module TypeScript {\r\n" + " export class SyntaxWalker implements ISyntaxVisitor {\r\n" + " public visitToken(token: ISyntaxToken): void {\r\n" + " }\r\n" + "\r\n" + " private visitOptionalToken(token: ISyntaxToken): void {\r\n" + " if (token === undefined) {\r\n" + " return;\r\n" + " }\r\n" + "\r\n" + " this.visitToken(token);\r\n" + " }\r\n" + "\r\n" + " private visitOptionalNode(node: ISyntaxNode): void {\r\n" + " if (node === undefined) {\r\n" + " return;\r\n" + " }\r\n" + "\r\n" + " node.accept(this);\r\n" + " }\r\n" + "\r\n" + " public visitList(list: ISyntaxNodeOrToken[]): void {\r\n" + " for (var i = 0, n = list.length; i < n; i++) {\r\n" + " list[i].accept(this);\r\n" + " }\r\n" + " }\r\n" + "\r\n";
+ result += "///\r\n" + "\r\n" + "module TypeScript {\r\n" + " export class SyntaxWalker implements ISyntaxVisitor {\r\n" + " public visitToken(token: ISyntaxToken): void {\r\n" + " }\r\n" + "\r\n" + " private visitOptionalToken(token: ISyntaxToken): void {\r\n" + " if (token === undefined) {\r\n" + " return;\r\n" + " }\r\n" + "\r\n" + " this.visitToken(token);\r\n" + " }\r\n" + "\r\n" + " public visitList(list: ISyntaxNodeOrToken[]): void {\r\n" + " for (var i = 0, n = list.length; i < n; i++) {\r\n" + " visitNodeOrToken(this, list[i]);\r\n" + " }\r\n" + " }\r\n";
for (var i = 0; i < definitions.length; i++) {
var definition = definitions[i];
result += "\r\n";
@@ -2721,12 +2721,7 @@ function generateWalker() {
result += " this.visitList(node." + child.name + ");\r\n";
}
else if (isNodeOrToken(child)) {
- if (child.isOptional) {
- result += " visitNodeOrToken(this, node." + child.name + ");\r\n";
- }
- else {
- result += " node." + child.name + ".accept(this);\r\n";
- }
+ result += " visitNodeOrToken(this, node." + child.name + ");\r\n";
}
else if (child.type === "ISyntaxToken") {
if (child.isOptional) {
@@ -2737,12 +2732,7 @@ function generateWalker() {
}
}
else if (child.type !== "SyntaxKind") {
- if (child.isOptional) {
- result += " this.visitOptionalNode(node." + child.name + ");\r\n";
- }
- else {
- result += " node." + child.name + ".accept(this);\r\n";
- }
+ result += " visitNodeOrToken(this, node." + child.name + ");\r\n";
}
}
result += " }\r\n";
@@ -2865,7 +2855,14 @@ function generateVisitor() {
result += "module TypeScript {\r\n";
result += " export function visitNodeOrToken(visitor: ISyntaxVisitor, element: ISyntaxNodeOrToken): any {\r\n";
result += " if (element === undefined) { return undefined; }\r\n";
- result += " return element.accept(visitor);\r\n";
+ result += " switch (element.kind()) {\r\n";
+ for (var i = 0; i < definitions.length; i++) {
+ var definition = definitions[i];
+ result += " case SyntaxKind." + getNameWithoutSuffix(definition) + ": ";
+ result += "return visitor.visit" + getNameWithoutSuffix(definition) + "(<" + definition.name + ">element);\r\n";
+ }
+ result += " default: return visitor.visitToken(element);\r\n";
+ result += " }\r\n";
result += " }\r\n\r\n";
result += " export interface ISyntaxVisitor {\r\n";
result += " visitToken(token: ISyntaxToken): any;\r\n";
diff --git a/src/services/syntax/prettyPrinter.ts b/src/services/syntax/prettyPrinter.ts
index 1c5182aea10..3d926fcfdee 100644
--- a/src/services/syntax/prettyPrinter.ts
+++ b/src/services/syntax/prettyPrinter.ts
@@ -1031,15 +1031,15 @@ module TypeScript.PrettyPrinter {
}
public visitTemplateClause(node: TemplateClauseSyntax): void {
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.ensureSpace();
this.appendToken(node.templateMiddleOrEndToken);
}
public visitTemplateAccessExpression(node: TemplateAccessExpressionSyntax): void {
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.ensureSpace();
- node.templateExpression.accept(this);
+ visitNodeOrToken(this, node.templateExpression);
}
}
}
\ No newline at end of file
diff --git a/src/services/syntax/scanner.ts b/src/services/syntax/scanner.ts
index b42b4d16986..be2abd11b4f 100644
--- a/src/services/syntax/scanner.ts
+++ b/src/services/syntax/scanner.ts
@@ -251,7 +251,7 @@ module TypeScript.Scanner {
}
class FixedWidthTokenWithNoTrivia implements ISyntaxToken {
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(private _packedData: number) {
}
@@ -285,7 +285,7 @@ module TypeScript.Scanner {
}
class LargeScannerToken implements ISyntaxToken {
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
private cachedText: string;
constructor(private _packedFullStartAndInfo: number, private _packedFullWidthAndKind: number, cachedText: string) {
diff --git a/src/services/syntax/syntaxGenerator.ts b/src/services/syntax/syntaxGenerator.ts
index 79e0f2c2844..3197d831ffa 100644
--- a/src/services/syntax/syntaxGenerator.ts
+++ b/src/services/syntax/syntaxGenerator.ts
@@ -1565,6 +1565,7 @@ function generateBrands(definition: ITypeDefinition, accessibility: boolean): st
}
}
+ types.push("_syntaxNodeOrTokenBrand");
if (types.length > 0) {
properties += " ";
@@ -2008,7 +2009,7 @@ function generateNode(definition: ITypeDefinition, abstract: boolean): string {
result += generateKindMethod(definition);
// result += generateSlotMethods(definition);
- result += generateAcceptMethod(definition);
+ // result += generateAcceptMethod(definition);
result += " }";
return result;
@@ -2213,35 +2214,26 @@ function generateWalker(): string {
var result = "";
result +=
-"///\r\n"+
-"\r\n" +
-"module TypeScript {\r\n" +
-" export class SyntaxWalker implements ISyntaxVisitor {\r\n" +
-" public visitToken(token: ISyntaxToken): void {\r\n" +
-" }\r\n" +
-"\r\n" +
-" private visitOptionalToken(token: ISyntaxToken): void {\r\n" +
-" if (token === undefined) {\r\n" +
-" return;\r\n" +
-" }\r\n" +
-"\r\n" +
-" this.visitToken(token);\r\n" +
-" }\r\n" +
-"\r\n" +
-" private visitOptionalNode(node: ISyntaxNode): void {\r\n" +
-" if (node === undefined) {\r\n" +
-" return;\r\n" +
-" }\r\n" +
-"\r\n" +
-" node.accept(this);\r\n" +
-" }\r\n" +
-"\r\n" +
-" public visitList(list: ISyntaxNodeOrToken[]): void {\r\n" +
-" for (var i = 0, n = list.length; i < n; i++) {\r\n" +
-" list[i].accept(this);\r\n" +
-" }\r\n" +
-" }\r\n" +
-"\r\n";
+ "///\r\n" +
+ "\r\n" +
+ "module TypeScript {\r\n" +
+ " export class SyntaxWalker implements ISyntaxVisitor {\r\n" +
+ " public visitToken(token: ISyntaxToken): void {\r\n" +
+ " }\r\n" +
+ "\r\n" +
+ " private visitOptionalToken(token: ISyntaxToken): void {\r\n" +
+ " if (token === undefined) {\r\n" +
+ " return;\r\n" +
+ " }\r\n" +
+ "\r\n" +
+ " this.visitToken(token);\r\n" +
+ " }\r\n" +
+ "\r\n" +
+ " public visitList(list: ISyntaxNodeOrToken[]): void {\r\n" +
+ " for (var i = 0, n = list.length; i < n; i++) {\r\n" +
+ " visitNodeOrToken(this, list[i]);\r\n" +
+ " }\r\n" +
+ " }\r\n";
for (var i = 0; i < definitions.length; i++) {
var definition = definitions[i];
@@ -2264,12 +2256,12 @@ function generateWalker(): string {
result += " this.visitList(node." + child.name + ");\r\n";
}
else if (isNodeOrToken(child)) {
- if (child.isOptional) {
+ //if (child.isOptional) {
result += " visitNodeOrToken(this, node." + child.name + ");\r\n";
- }
- else {
- result += " node." + child.name + ".accept(this);\r\n";
- }
+ //}
+ //else {
+ // result += " node." + child.name + ".accept(this);\r\n";
+ //}
}
else if (child.type === "ISyntaxToken") {
if (child.isOptional) {
@@ -2280,12 +2272,12 @@ function generateWalker(): string {
}
}
else if (child.type !== "SyntaxKind") {
- if (child.isOptional) {
- result += " this.visitOptionalNode(node." + child.name + ");\r\n";
- }
- else {
- result += " node." + child.name + ".accept(this);\r\n";
- }
+ //if (child.isOptional) {
+ result += " visitNodeOrToken(this, node." + child.name + ");\r\n";
+ //}
+ //else {
+ // result += " node." + child.name + ".accept(this);\r\n";
+ //}
}
}
@@ -2455,31 +2447,19 @@ function generateVisitor(): string {
result += "module TypeScript {\r\n";
result += " export function visitNodeOrToken(visitor: ISyntaxVisitor, element: ISyntaxNodeOrToken): any {\r\n";
result += " if (element === undefined) { return undefined; }\r\n";
- result += " return element.accept(visitor);\r\n";
- /*
- result += " if (isToken(element)) { return visitor.visitToken(element); }\r\n";
+ // result += " return element.accept(visitor);\r\n";
+
result += " switch (element.kind()) {\r\n";
for (var i = 0; i < definitions.length; i++) {
var definition = definitions[i];
- if (definition.syntaxKinds) {
- result += " ";
- for (var j = 0; j < definition.syntaxKinds.length; j++) {
- result += " case SyntaxKind." + definition.syntaxKinds[j] + ":"
- }
- result += "\r\n ";
- }
- else {
- result += " case SyntaxKind." + getNameWithoutSuffix(definition) + ": ";
- }
-
+ result += " case SyntaxKind." + getNameWithoutSuffix(definition) + ": ";
result += "return visitor.visit" + getNameWithoutSuffix(definition) + "(<" + definition.name + ">element);\r\n";
}
- result += " }\r\n\r\n";
- result += " throw Errors.invalidOperation();\r\n";
- */
+ result += " default: return visitor.visitToken(element);\r\n";
+ result += " }\r\n";
result += " }\r\n\r\n";
result += " export interface ISyntaxVisitor {\r\n";
diff --git a/src/services/syntax/syntaxNodeOrToken.ts b/src/services/syntax/syntaxNodeOrToken.ts
index 2c2a6f808bd..6cb173df11a 100644
--- a/src/services/syntax/syntaxNodeOrToken.ts
+++ b/src/services/syntax/syntaxNodeOrToken.ts
@@ -2,6 +2,6 @@
module TypeScript {
export interface ISyntaxNodeOrToken extends ISyntaxElement {
- accept(visitor: ISyntaxVisitor): any;
+ _syntaxNodeOrTokenBrand: any;
}
}
\ No newline at end of file
diff --git a/src/services/syntax/syntaxNodes.concrete.generated.ts b/src/services/syntax/syntaxNodes.concrete.generated.ts
index 350481ea59a..4dd7500f9f1 100644
--- a/src/services/syntax/syntaxNodes.concrete.generated.ts
+++ b/src/services/syntax/syntaxNodes.concrete.generated.ts
@@ -6,6 +6,7 @@ module TypeScript {
public syntaxTree: SyntaxTree = undefined;
public moduleElements: IModuleElementSyntax[];
public endOfFileToken: ISyntaxToken;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, moduleElements: IModuleElementSyntax[], endOfFileToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.parent = undefined,
@@ -18,17 +19,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.SourceUnit;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitSourceUnit(this);
- }
}
export class QualifiedNameSyntax implements ISyntaxNode, INameSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public left: INameSyntax;
public dotToken: ISyntaxToken;
public right: ISyntaxToken;
- public _nameBrand: any; public _typeBrand: any;
+ public _nameBrand: any; public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, left: INameSyntax, dotToken: ISyntaxToken, right: ISyntaxToken) {
if (data) { this.__data = data; }
this.left = left,
@@ -42,17 +39,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.QualifiedName;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitQualifiedName(this);
- }
}
export class ObjectTypeSyntax implements ISyntaxNode, ITypeSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public openBraceToken: ISyntaxToken;
public typeMembers: ISeparatedSyntaxList;
public closeBraceToken: ISyntaxToken;
- public _typeBrand: any;
+ public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, openBraceToken: ISyntaxToken, typeMembers: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.openBraceToken = openBraceToken,
@@ -66,10 +59,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ObjectType;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitObjectType(this);
- }
}
export class FunctionTypeSyntax implements ISyntaxNode, ITypeSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -77,7 +66,7 @@ module TypeScript {
public parameterList: ParameterListSyntax;
public equalsGreaterThanToken: ISyntaxToken;
public type: ITypeSyntax;
- public _typeBrand: any;
+ public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax) {
if (data) { this.__data = data; }
this.typeParameterList = typeParameterList,
@@ -93,17 +82,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.FunctionType;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitFunctionType(this);
- }
}
export class ArrayTypeSyntax implements ISyntaxNode, ITypeSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public type: ITypeSyntax;
public openBracketToken: ISyntaxToken;
public closeBracketToken: ISyntaxToken;
- public _typeBrand: any;
+ public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, type: ITypeSyntax, openBracketToken: ISyntaxToken, closeBracketToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.type = type,
@@ -117,10 +102,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ArrayType;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitArrayType(this);
- }
}
export class ConstructorTypeSyntax implements ISyntaxNode, ITypeSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -129,7 +110,7 @@ module TypeScript {
public parameterList: ParameterListSyntax;
public equalsGreaterThanToken: ISyntaxToken;
public type: ITypeSyntax;
- public _typeBrand: any;
+ public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, newKeyword: ISyntaxToken, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, equalsGreaterThanToken: ISyntaxToken, type: ITypeSyntax) {
if (data) { this.__data = data; }
this.newKeyword = newKeyword,
@@ -147,16 +128,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ConstructorType;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitConstructorType(this);
- }
}
export class GenericTypeSyntax implements ISyntaxNode, ITypeSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public name: INameSyntax;
public typeArgumentList: TypeArgumentListSyntax;
- public _typeBrand: any;
+ public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, name: INameSyntax, typeArgumentList: TypeArgumentListSyntax) {
if (data) { this.__data = data; }
this.name = name,
@@ -168,16 +145,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.GenericType;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitGenericType(this);
- }
}
export class TypeQuerySyntax implements ISyntaxNode, ITypeSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public typeOfKeyword: ISyntaxToken;
public name: INameSyntax;
- public _typeBrand: any;
+ public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, typeOfKeyword: ISyntaxToken, name: INameSyntax) {
if (data) { this.__data = data; }
this.typeOfKeyword = typeOfKeyword,
@@ -189,17 +162,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TypeQuery;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTypeQuery(this);
- }
}
export class TupleTypeSyntax implements ISyntaxNode, ITypeSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public openBracketToken: ISyntaxToken;
public types: ISeparatedSyntaxList;
public closeBracketToken: ISyntaxToken;
- public _typeBrand: any;
+ public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, openBracketToken: ISyntaxToken, types: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.openBracketToken = openBracketToken,
@@ -213,17 +182,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TupleType;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTupleType(this);
- }
}
export class UnionTypeSyntax implements ISyntaxNode, ITypeSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public left: ITypeSyntax;
public barToken: ISyntaxToken;
public right: ITypeSyntax;
- public _typeBrand: any;
+ public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, left: ITypeSyntax, barToken: ISyntaxToken, right: ITypeSyntax) {
if (data) { this.__data = data; }
this.left = left,
@@ -237,17 +202,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.UnionType;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitUnionType(this);
- }
}
export class ParenthesizedTypeSyntax implements ISyntaxNode, ITypeSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public openParenToken: ISyntaxToken;
public type: ITypeSyntax;
public closeParenToken: ISyntaxToken;
- public _typeBrand: any;
+ public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, openParenToken: ISyntaxToken, type: ITypeSyntax, closeParenToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.openParenToken = openParenToken,
@@ -261,10 +222,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ParenthesizedType;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitParenthesizedType(this);
- }
}
export class InterfaceDeclarationSyntax implements ISyntaxNode, IModuleElementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -274,7 +231,7 @@ module TypeScript {
public typeParameterList: TypeParameterListSyntax;
public heritageClauses: HeritageClauseSyntax[];
public body: ObjectTypeSyntax;
- public _moduleElementBrand: any;
+ public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], interfaceKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: HeritageClauseSyntax[], body: ObjectTypeSyntax) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -294,10 +251,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.InterfaceDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitInterfaceDeclaration(this);
- }
}
export class FunctionDeclarationSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -307,7 +260,7 @@ module TypeScript {
public callSignature: CallSignatureSyntax;
public block: BlockSyntax;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -327,10 +280,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.FunctionDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitFunctionDeclaration(this);
- }
}
export class ModuleDeclarationSyntax implements ISyntaxNode, IModuleElementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -341,7 +290,7 @@ module TypeScript {
public openBraceToken: ISyntaxToken;
public moduleElements: IModuleElementSyntax[];
public closeBraceToken: ISyntaxToken;
- public _moduleElementBrand: any;
+ public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], moduleKeyword: ISyntaxToken, name: INameSyntax, stringLiteral: ISyntaxToken, openBraceToken: ISyntaxToken, moduleElements: IModuleElementSyntax[], closeBraceToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -363,10 +312,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ModuleDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitModuleDeclaration(this);
- }
}
export class ClassDeclarationSyntax implements ISyntaxNode, IModuleElementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -378,7 +323,7 @@ module TypeScript {
public openBraceToken: ISyntaxToken;
public classElements: IClassElementSyntax[];
public closeBraceToken: ISyntaxToken;
- public _moduleElementBrand: any;
+ public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], classKeyword: ISyntaxToken, identifier: ISyntaxToken, typeParameterList: TypeParameterListSyntax, heritageClauses: HeritageClauseSyntax[], openBraceToken: ISyntaxToken, classElements: IClassElementSyntax[], closeBraceToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -402,10 +347,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ClassDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitClassDeclaration(this);
- }
}
export class EnumDeclarationSyntax implements ISyntaxNode, IModuleElementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -415,7 +356,7 @@ module TypeScript {
public openBraceToken: ISyntaxToken;
public enumElements: ISeparatedSyntaxList;
public closeBraceToken: ISyntaxToken;
- public _moduleElementBrand: any;
+ public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], enumKeyword: ISyntaxToken, identifier: ISyntaxToken, openBraceToken: ISyntaxToken, enumElements: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -435,10 +376,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.EnumDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitEnumDeclaration(this);
- }
}
export class ImportDeclarationSyntax implements ISyntaxNode, IModuleElementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -448,7 +385,7 @@ module TypeScript {
public equalsToken: ISyntaxToken;
public moduleReference: IModuleReferenceSyntax;
public semicolonToken: ISyntaxToken;
- public _moduleElementBrand: any;
+ public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], importKeyword: ISyntaxToken, identifier: ISyntaxToken, equalsToken: ISyntaxToken, moduleReference: IModuleReferenceSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -468,10 +405,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ImportDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitImportDeclaration(this);
- }
}
export class ExportAssignmentSyntax implements ISyntaxNode, IModuleElementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -479,7 +412,7 @@ module TypeScript {
public equalsToken: ISyntaxToken;
public identifier: ISyntaxToken;
public semicolonToken: ISyntaxToken;
- public _moduleElementBrand: any;
+ public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, exportKeyword: ISyntaxToken, equalsToken: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.exportKeyword = exportKeyword,
@@ -495,10 +428,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ExportAssignment;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitExportAssignment(this);
- }
}
export class MemberFunctionDeclarationSyntax implements ISyntaxNode, IMemberDeclarationSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -507,7 +436,7 @@ module TypeScript {
public callSignature: CallSignatureSyntax;
public block: BlockSyntax;
public semicolonToken: ISyntaxToken;
- public _memberDeclarationBrand: any; public _classElementBrand: any;
+ public _memberDeclarationBrand: any; public _classElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -525,17 +454,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.MemberFunctionDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitMemberFunctionDeclaration(this);
- }
}
export class MemberVariableDeclarationSyntax implements ISyntaxNode, IMemberDeclarationSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public modifiers: ISyntaxToken[];
public variableDeclarator: VariableDeclaratorSyntax;
public semicolonToken: ISyntaxToken;
- public _memberDeclarationBrand: any; public _classElementBrand: any;
+ public _memberDeclarationBrand: any; public _classElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], variableDeclarator: VariableDeclaratorSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -549,10 +474,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.MemberVariableDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitMemberVariableDeclaration(this);
- }
}
export class ConstructorDeclarationSyntax implements ISyntaxNode, IClassElementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -561,7 +482,7 @@ module TypeScript {
public callSignature: CallSignatureSyntax;
public block: BlockSyntax;
public semicolonToken: ISyntaxToken;
- public _classElementBrand: any;
+ public _classElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], constructorKeyword: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -579,17 +500,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ConstructorDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitConstructorDeclaration(this);
- }
}
export class IndexMemberDeclarationSyntax implements ISyntaxNode, IClassElementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public modifiers: ISyntaxToken[];
public indexSignature: IndexSignatureSyntax;
public semicolonToken: ISyntaxToken;
- public _classElementBrand: any;
+ public _classElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], indexSignature: IndexSignatureSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -603,10 +520,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.IndexMemberDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitIndexMemberDeclaration(this);
- }
}
export class GetAccessorSyntax implements ISyntaxNode, IMemberDeclarationSyntax, IPropertyAssignmentSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -615,7 +528,7 @@ module TypeScript {
public propertyName: ISyntaxToken;
public callSignature: CallSignatureSyntax;
public block: BlockSyntax;
- public _memberDeclarationBrand: any; public _propertyAssignmentBrand: any; public _classElementBrand: any;
+ public _memberDeclarationBrand: any; public _propertyAssignmentBrand: any; public _classElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], getKeyword: ISyntaxToken, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -633,10 +546,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.GetAccessor;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitGetAccessor(this);
- }
}
export class SetAccessorSyntax implements ISyntaxNode, IMemberDeclarationSyntax, IPropertyAssignmentSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -645,7 +554,7 @@ module TypeScript {
public propertyName: ISyntaxToken;
public callSignature: CallSignatureSyntax;
public block: BlockSyntax;
- public _memberDeclarationBrand: any; public _propertyAssignmentBrand: any; public _classElementBrand: any;
+ public _memberDeclarationBrand: any; public _propertyAssignmentBrand: any; public _classElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], setKeyword: ISyntaxToken, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -663,17 +572,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.SetAccessor;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitSetAccessor(this);
- }
}
export class PropertySignatureSyntax implements ISyntaxNode, ITypeMemberSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public propertyName: ISyntaxToken;
public questionToken: ISyntaxToken;
public typeAnnotation: TypeAnnotationSyntax;
- public _typeMemberBrand: any;
+ public _typeMemberBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, propertyName: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax) {
if (data) { this.__data = data; }
this.propertyName = propertyName,
@@ -687,17 +592,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.PropertySignature;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitPropertySignature(this);
- }
}
export class CallSignatureSyntax implements ISyntaxNode, ITypeMemberSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public typeParameterList: TypeParameterListSyntax;
public parameterList: ParameterListSyntax;
public typeAnnotation: TypeAnnotationSyntax;
- public _typeMemberBrand: any;
+ public _typeMemberBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, typeParameterList: TypeParameterListSyntax, parameterList: ParameterListSyntax, typeAnnotation: TypeAnnotationSyntax) {
if (data) { this.__data = data; }
this.typeParameterList = typeParameterList,
@@ -711,16 +612,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.CallSignature;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitCallSignature(this);
- }
}
export class ConstructSignatureSyntax implements ISyntaxNode, ITypeMemberSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public newKeyword: ISyntaxToken;
public callSignature: CallSignatureSyntax;
- public _typeMemberBrand: any;
+ public _typeMemberBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, newKeyword: ISyntaxToken, callSignature: CallSignatureSyntax) {
if (data) { this.__data = data; }
this.newKeyword = newKeyword,
@@ -732,10 +629,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ConstructSignature;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitConstructSignature(this);
- }
}
export class IndexSignatureSyntax implements ISyntaxNode, ITypeMemberSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -743,7 +636,7 @@ module TypeScript {
public parameters: ISeparatedSyntaxList;
public closeBracketToken: ISyntaxToken;
public typeAnnotation: TypeAnnotationSyntax;
- public _typeMemberBrand: any;
+ public _typeMemberBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, openBracketToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax) {
if (data) { this.__data = data; }
this.openBracketToken = openBracketToken,
@@ -759,17 +652,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.IndexSignature;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitIndexSignature(this);
- }
}
export class MethodSignatureSyntax implements ISyntaxNode, ITypeMemberSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public propertyName: ISyntaxToken;
public questionToken: ISyntaxToken;
public callSignature: CallSignatureSyntax;
- public _typeMemberBrand: any;
+ public _typeMemberBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, propertyName: ISyntaxToken, questionToken: ISyntaxToken, callSignature: CallSignatureSyntax) {
if (data) { this.__data = data; }
this.propertyName = propertyName,
@@ -783,17 +672,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.MethodSignature;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitMethodSignature(this);
- }
}
export class BlockSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public openBraceToken: ISyntaxToken;
public statements: IStatementSyntax[];
public closeBraceToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, openBraceToken: ISyntaxToken, statements: IStatementSyntax[], closeBraceToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.openBraceToken = openBraceToken,
@@ -807,10 +692,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.Block;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitBlock(this);
- }
}
export class IfStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -820,7 +701,7 @@ module TypeScript {
public closeParenToken: ISyntaxToken;
public statement: IStatementSyntax;
public elseClause: ElseClauseSyntax;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, ifKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax, elseClause: ElseClauseSyntax) {
if (data) { this.__data = data; }
this.ifKeyword = ifKeyword,
@@ -840,17 +721,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.IfStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitIfStatement(this);
- }
}
export class VariableStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public modifiers: ISyntaxToken[];
public variableDeclaration: VariableDeclarationSyntax;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, modifiers: ISyntaxToken[], variableDeclaration: VariableDeclarationSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.modifiers = modifiers,
@@ -864,16 +741,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.VariableStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitVariableStatement(this);
- }
}
export class ExpressionStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public expression: IExpressionSyntax;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, expression: IExpressionSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.expression = expression,
@@ -885,17 +758,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ExpressionStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitExpressionStatement(this);
- }
}
export class ReturnStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public returnKeyword: ISyntaxToken;
public expression: IExpressionSyntax;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, returnKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.returnKeyword = returnKeyword,
@@ -909,10 +778,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ReturnStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitReturnStatement(this);
- }
}
export class SwitchStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -923,7 +788,7 @@ module TypeScript {
public openBraceToken: ISyntaxToken;
public switchClauses: ISwitchClauseSyntax[];
public closeBraceToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, switchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, openBraceToken: ISyntaxToken, switchClauses: ISwitchClauseSyntax[], closeBraceToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.switchKeyword = switchKeyword,
@@ -945,17 +810,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.SwitchStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitSwitchStatement(this);
- }
}
export class BreakStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public breakKeyword: ISyntaxToken;
public identifier: ISyntaxToken;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, breakKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.breakKeyword = breakKeyword,
@@ -969,17 +830,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.BreakStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitBreakStatement(this);
- }
}
export class ContinueStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public continueKeyword: ISyntaxToken;
public identifier: ISyntaxToken;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, continueKeyword: ISyntaxToken, identifier: ISyntaxToken, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.continueKeyword = continueKeyword,
@@ -993,10 +850,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ContinueStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitContinueStatement(this);
- }
}
export class ForStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1010,7 +863,7 @@ module TypeScript {
public incrementor: IExpressionSyntax;
public closeParenToken: ISyntaxToken;
public statement: IStatementSyntax;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, initializer: IExpressionSyntax, firstSemicolonToken: ISyntaxToken, condition: IExpressionSyntax, secondSemicolonToken: ISyntaxToken, incrementor: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax) {
if (data) { this.__data = data; }
this.forKeyword = forKeyword,
@@ -1038,10 +891,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ForStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitForStatement(this);
- }
}
export class ForInStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1053,7 +902,7 @@ module TypeScript {
public expression: IExpressionSyntax;
public closeParenToken: ISyntaxToken;
public statement: IStatementSyntax;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, forKeyword: ISyntaxToken, openParenToken: ISyntaxToken, variableDeclaration: VariableDeclarationSyntax, left: IExpressionSyntax, inKeyword: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax) {
if (data) { this.__data = data; }
this.forKeyword = forKeyword,
@@ -1077,15 +926,11 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ForInStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitForInStatement(this);
- }
}
export class EmptyStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.semicolonToken = semicolonToken,
@@ -1095,17 +940,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.EmptyStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitEmptyStatement(this);
- }
}
export class ThrowStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public throwKeyword: ISyntaxToken;
public expression: IExpressionSyntax;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, throwKeyword: ISyntaxToken, expression: IExpressionSyntax, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.throwKeyword = throwKeyword,
@@ -1119,10 +960,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ThrowStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitThrowStatement(this);
- }
}
export class WhileStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1131,7 +968,7 @@ module TypeScript {
public condition: IExpressionSyntax;
public closeParenToken: ISyntaxToken;
public statement: IStatementSyntax;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax) {
if (data) { this.__data = data; }
this.whileKeyword = whileKeyword,
@@ -1149,10 +986,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.WhileStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitWhileStatement(this);
- }
}
export class TryStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1160,7 +993,7 @@ module TypeScript {
public block: BlockSyntax;
public catchClause: CatchClauseSyntax;
public finallyClause: FinallyClauseSyntax;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, tryKeyword: ISyntaxToken, block: BlockSyntax, catchClause: CatchClauseSyntax, finallyClause: FinallyClauseSyntax) {
if (data) { this.__data = data; }
this.tryKeyword = tryKeyword,
@@ -1176,17 +1009,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TryStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTryStatement(this);
- }
}
export class LabeledStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public identifier: ISyntaxToken;
public colonToken: ISyntaxToken;
public statement: IStatementSyntax;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, identifier: ISyntaxToken, colonToken: ISyntaxToken, statement: IStatementSyntax) {
if (data) { this.__data = data; }
this.identifier = identifier,
@@ -1200,10 +1029,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.LabeledStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitLabeledStatement(this);
- }
}
export class DoStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1214,7 +1039,7 @@ module TypeScript {
public condition: IExpressionSyntax;
public closeParenToken: ISyntaxToken;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, doKeyword: ISyntaxToken, statement: IStatementSyntax, whileKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.doKeyword = doKeyword,
@@ -1236,16 +1061,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.DoStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitDoStatement(this);
- }
}
export class DebuggerStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public debuggerKeyword: ISyntaxToken;
public semicolonToken: ISyntaxToken;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, debuggerKeyword: ISyntaxToken, semicolonToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.debuggerKeyword = debuggerKeyword,
@@ -1257,10 +1078,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.DebuggerStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitDebuggerStatement(this);
- }
}
export class WithStatementSyntax implements ISyntaxNode, IStatementSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1269,7 +1086,7 @@ module TypeScript {
public condition: IExpressionSyntax;
public closeParenToken: ISyntaxToken;
public statement: IStatementSyntax;
- public _statementBrand: any; public _moduleElementBrand: any;
+ public _statementBrand: any; public _moduleElementBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, withKeyword: ISyntaxToken, openParenToken: ISyntaxToken, condition: IExpressionSyntax, closeParenToken: ISyntaxToken, statement: IStatementSyntax) {
if (data) { this.__data = data; }
this.withKeyword = withKeyword,
@@ -1287,16 +1104,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.WithStatement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitWithStatement(this);
- }
}
export class PrefixUnaryExpressionSyntax implements ISyntaxNode, IUnaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public operatorToken: ISyntaxToken;
public operand: IUnaryExpressionSyntax;
- public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, operatorToken: ISyntaxToken, operand: IUnaryExpressionSyntax) {
if (data) { this.__data = data; }
this.operatorToken = operatorToken,
@@ -1308,16 +1121,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.PrefixUnaryExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitPrefixUnaryExpression(this);
- }
}
export class DeleteExpressionSyntax implements ISyntaxNode, IUnaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public deleteKeyword: ISyntaxToken;
public expression: IUnaryExpressionSyntax;
- public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, deleteKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax) {
if (data) { this.__data = data; }
this.deleteKeyword = deleteKeyword,
@@ -1329,16 +1138,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.DeleteExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitDeleteExpression(this);
- }
}
export class TypeOfExpressionSyntax implements ISyntaxNode, IUnaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public typeOfKeyword: ISyntaxToken;
public expression: IUnaryExpressionSyntax;
- public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, typeOfKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax) {
if (data) { this.__data = data; }
this.typeOfKeyword = typeOfKeyword,
@@ -1350,16 +1155,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TypeOfExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTypeOfExpression(this);
- }
}
export class VoidExpressionSyntax implements ISyntaxNode, IUnaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public voidKeyword: ISyntaxToken;
public expression: IUnaryExpressionSyntax;
- public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, voidKeyword: ISyntaxToken, expression: IUnaryExpressionSyntax) {
if (data) { this.__data = data; }
this.voidKeyword = voidKeyword,
@@ -1371,10 +1172,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.VoidExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitVoidExpression(this);
- }
}
export class ConditionalExpressionSyntax implements ISyntaxNode, IExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1383,7 +1180,7 @@ module TypeScript {
public whenTrue: IExpressionSyntax;
public colonToken: ISyntaxToken;
public whenFalse: IExpressionSyntax;
- public _expressionBrand: any;
+ public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, condition: IExpressionSyntax, questionToken: ISyntaxToken, whenTrue: IExpressionSyntax, colonToken: ISyntaxToken, whenFalse: IExpressionSyntax) {
if (data) { this.__data = data; }
this.condition = condition,
@@ -1401,17 +1198,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ConditionalExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitConditionalExpression(this);
- }
}
export class BinaryExpressionSyntax implements ISyntaxNode, IExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public left: IExpressionSyntax;
public operatorToken: ISyntaxToken;
public right: IExpressionSyntax;
- public _expressionBrand: any;
+ public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, left: IExpressionSyntax, operatorToken: ISyntaxToken, right: IExpressionSyntax) {
if (data) { this.__data = data; }
this.left = left,
@@ -1425,16 +1218,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.BinaryExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitBinaryExpression(this);
- }
}
export class PostfixUnaryExpressionSyntax implements ISyntaxNode, IPostfixExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public operand: ILeftHandSideExpressionSyntax;
public operatorToken: ISyntaxToken;
- public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, operand: ILeftHandSideExpressionSyntax, operatorToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.operand = operand,
@@ -1446,17 +1235,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.PostfixUnaryExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitPostfixUnaryExpression(this);
- }
}
export class MemberAccessExpressionSyntax implements ISyntaxNode, IMemberExpressionSyntax, ICallExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public expression: ILeftHandSideExpressionSyntax;
public dotToken: ISyntaxToken;
public name: ISyntaxToken;
- public _memberExpressionBrand: any; public _callExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _memberExpressionBrand: any; public _callExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, expression: ILeftHandSideExpressionSyntax, dotToken: ISyntaxToken, name: ISyntaxToken) {
if (data) { this.__data = data; }
this.expression = expression,
@@ -1470,16 +1255,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.MemberAccessExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitMemberAccessExpression(this);
- }
}
export class InvocationExpressionSyntax implements ISyntaxNode, ICallExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public expression: ILeftHandSideExpressionSyntax;
public argumentList: ArgumentListSyntax;
- public _callExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _callExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, expression: ILeftHandSideExpressionSyntax, argumentList: ArgumentListSyntax) {
if (data) { this.__data = data; }
this.expression = expression,
@@ -1491,17 +1272,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.InvocationExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitInvocationExpression(this);
- }
}
export class ArrayLiteralExpressionSyntax implements ISyntaxNode, IPrimaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public openBracketToken: ISyntaxToken;
public expressions: ISeparatedSyntaxList;
public closeBracketToken: ISyntaxToken;
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, openBracketToken: ISyntaxToken, expressions: ISeparatedSyntaxList, closeBracketToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.openBracketToken = openBracketToken,
@@ -1515,17 +1292,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ArrayLiteralExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitArrayLiteralExpression(this);
- }
}
export class ObjectLiteralExpressionSyntax implements ISyntaxNode, IPrimaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public openBraceToken: ISyntaxToken;
public propertyAssignments: ISeparatedSyntaxList;
public closeBraceToken: ISyntaxToken;
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, openBraceToken: ISyntaxToken, propertyAssignments: ISeparatedSyntaxList, closeBraceToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.openBraceToken = openBraceToken,
@@ -1539,17 +1312,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ObjectLiteralExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitObjectLiteralExpression(this);
- }
}
export class ObjectCreationExpressionSyntax implements ISyntaxNode, IPrimaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public newKeyword: ISyntaxToken;
public expression: IMemberExpressionSyntax;
public argumentList: ArgumentListSyntax;
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, newKeyword: ISyntaxToken, expression: IMemberExpressionSyntax, argumentList: ArgumentListSyntax) {
if (data) { this.__data = data; }
this.newKeyword = newKeyword,
@@ -1563,17 +1332,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ObjectCreationExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitObjectCreationExpression(this);
- }
}
export class ParenthesizedExpressionSyntax implements ISyntaxNode, IPrimaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public openParenToken: ISyntaxToken;
public expression: IExpressionSyntax;
public closeParenToken: ISyntaxToken;
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, openParenToken: ISyntaxToken, expression: IExpressionSyntax, closeParenToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.openParenToken = openParenToken,
@@ -1587,10 +1352,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ParenthesizedExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitParenthesizedExpression(this);
- }
}
export class ParenthesizedArrowFunctionExpressionSyntax implements ISyntaxNode, IUnaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1598,7 +1359,7 @@ module TypeScript {
public equalsGreaterThanToken: ISyntaxToken;
public block: BlockSyntax;
public expression: IExpressionSyntax;
- public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, callSignature: CallSignatureSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax) {
if (data) { this.__data = data; }
this.callSignature = callSignature,
@@ -1614,10 +1375,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ParenthesizedArrowFunctionExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitParenthesizedArrowFunctionExpression(this);
- }
}
export class SimpleArrowFunctionExpressionSyntax implements ISyntaxNode, IUnaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1625,7 +1382,7 @@ module TypeScript {
public equalsGreaterThanToken: ISyntaxToken;
public block: BlockSyntax;
public expression: IExpressionSyntax;
- public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, parameter: ParameterSyntax, equalsGreaterThanToken: ISyntaxToken, block: BlockSyntax, expression: IExpressionSyntax) {
if (data) { this.__data = data; }
this.parameter = parameter,
@@ -1641,10 +1398,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.SimpleArrowFunctionExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitSimpleArrowFunctionExpression(this);
- }
}
export class CastExpressionSyntax implements ISyntaxNode, IUnaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1652,7 +1405,7 @@ module TypeScript {
public type: ITypeSyntax;
public greaterThanToken: ISyntaxToken;
public expression: IUnaryExpressionSyntax;
- public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, lessThanToken: ISyntaxToken, type: ITypeSyntax, greaterThanToken: ISyntaxToken, expression: IUnaryExpressionSyntax) {
if (data) { this.__data = data; }
this.lessThanToken = lessThanToken,
@@ -1668,10 +1421,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.CastExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitCastExpression(this);
- }
}
export class ElementAccessExpressionSyntax implements ISyntaxNode, IMemberExpressionSyntax, ICallExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1679,7 +1428,7 @@ module TypeScript {
public openBracketToken: ISyntaxToken;
public argumentExpression: IExpressionSyntax;
public closeBracketToken: ISyntaxToken;
- public _memberExpressionBrand: any; public _callExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _memberExpressionBrand: any; public _callExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, expression: ILeftHandSideExpressionSyntax, openBracketToken: ISyntaxToken, argumentExpression: IExpressionSyntax, closeBracketToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.expression = expression,
@@ -1695,10 +1444,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ElementAccessExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitElementAccessExpression(this);
- }
}
export class FunctionExpressionSyntax implements ISyntaxNode, IPrimaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1706,7 +1451,7 @@ module TypeScript {
public identifier: ISyntaxToken;
public callSignature: CallSignatureSyntax;
public block: BlockSyntax;
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, functionKeyword: ISyntaxToken, identifier: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax) {
if (data) { this.__data = data; }
this.functionKeyword = functionKeyword,
@@ -1722,14 +1467,10 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.FunctionExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitFunctionExpression(this);
- }
}
export class OmittedExpressionSyntax implements ISyntaxNode, IExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
- public _expressionBrand: any;
+ public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number) {
if (data) { this.__data = data; }
}
@@ -1737,16 +1478,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.OmittedExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitOmittedExpression(this);
- }
}
export class TemplateExpressionSyntax implements ISyntaxNode, IPrimaryExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public templateStartToken: ISyntaxToken;
public templateClauses: TemplateClauseSyntax[];
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, templateStartToken: ISyntaxToken, templateClauses: TemplateClauseSyntax[]) {
if (data) { this.__data = data; }
this.templateStartToken = templateStartToken,
@@ -1758,16 +1495,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TemplateExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTemplateExpression(this);
- }
}
export class TemplateAccessExpressionSyntax implements ISyntaxNode, IMemberExpressionSyntax, ICallExpressionSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public expression: ILeftHandSideExpressionSyntax;
public templateExpression: IPrimaryExpressionSyntax;
- public _memberExpressionBrand: any; public _callExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any;
+ public _memberExpressionBrand: any; public _callExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, expression: ILeftHandSideExpressionSyntax, templateExpression: IPrimaryExpressionSyntax) {
if (data) { this.__data = data; }
this.expression = expression,
@@ -1779,15 +1512,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TemplateAccessExpression;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTemplateAccessExpression(this);
- }
}
export class VariableDeclarationSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public varKeyword: ISyntaxToken;
public variableDeclarators: ISeparatedSyntaxList;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, varKeyword: ISyntaxToken, variableDeclarators: ISeparatedSyntaxList) {
if (data) { this.__data = data; }
this.varKeyword = varKeyword,
@@ -1799,16 +1529,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.VariableDeclaration;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitVariableDeclaration(this);
- }
}
export class VariableDeclaratorSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public propertyName: ISyntaxToken;
public typeAnnotation: TypeAnnotationSyntax;
public equalsValueClause: EqualsValueClauseSyntax;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, propertyName: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax) {
if (data) { this.__data = data; }
this.propertyName = propertyName,
@@ -1822,10 +1549,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.VariableDeclarator;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitVariableDeclarator(this);
- }
}
export class ArgumentListSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1833,6 +1556,7 @@ module TypeScript {
public openParenToken: ISyntaxToken;
public arguments: ISeparatedSyntaxList;
public closeParenToken: ISyntaxToken;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, typeArgumentList: TypeArgumentListSyntax, openParenToken: ISyntaxToken, _arguments: ISeparatedSyntaxList, closeParenToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.typeArgumentList = typeArgumentList,
@@ -1848,16 +1572,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ArgumentList;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitArgumentList(this);
- }
}
export class ParameterListSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public openParenToken: ISyntaxToken;
public parameters: ISeparatedSyntaxList;
public closeParenToken: ISyntaxToken;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, openParenToken: ISyntaxToken, parameters: ISeparatedSyntaxList, closeParenToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.openParenToken = openParenToken,
@@ -1871,16 +1592,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ParameterList;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitParameterList(this);
- }
}
export class TypeArgumentListSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public lessThanToken: ISyntaxToken;
public typeArguments: ISeparatedSyntaxList;
public greaterThanToken: ISyntaxToken;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, lessThanToken: ISyntaxToken, typeArguments: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.lessThanToken = lessThanToken,
@@ -1894,16 +1612,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TypeArgumentList;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTypeArgumentList(this);
- }
}
export class TypeParameterListSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public lessThanToken: ISyntaxToken;
public typeParameters: ISeparatedSyntaxList;
public greaterThanToken: ISyntaxToken;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, lessThanToken: ISyntaxToken, typeParameters: ISeparatedSyntaxList, greaterThanToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.lessThanToken = lessThanToken,
@@ -1917,15 +1632,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TypeParameterList;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTypeParameterList(this);
- }
}
export class HeritageClauseSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public extendsOrImplementsKeyword: ISyntaxToken;
public typeNames: ISeparatedSyntaxList;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, extendsOrImplementsKeyword: ISyntaxToken, typeNames: ISeparatedSyntaxList) {
if (data) { this.__data = data; }
this.extendsOrImplementsKeyword = extendsOrImplementsKeyword,
@@ -1937,15 +1649,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.HeritageClause;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitHeritageClause(this);
- }
}
export class EqualsValueClauseSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public equalsToken: ISyntaxToken;
public value: IExpressionSyntax;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, equalsToken: ISyntaxToken, value: IExpressionSyntax) {
if (data) { this.__data = data; }
this.equalsToken = equalsToken,
@@ -1957,10 +1666,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.EqualsValueClause;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitEqualsValueClause(this);
- }
}
export class CaseSwitchClauseSyntax implements ISyntaxNode, ISwitchClauseSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -1968,7 +1673,7 @@ module TypeScript {
public expression: IExpressionSyntax;
public colonToken: ISyntaxToken;
public statements: IStatementSyntax[];
- public _switchClauseBrand: any;
+ public _switchClauseBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, caseKeyword: ISyntaxToken, expression: IExpressionSyntax, colonToken: ISyntaxToken, statements: IStatementSyntax[]) {
if (data) { this.__data = data; }
this.caseKeyword = caseKeyword,
@@ -1984,17 +1689,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.CaseSwitchClause;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitCaseSwitchClause(this);
- }
}
export class DefaultSwitchClauseSyntax implements ISyntaxNode, ISwitchClauseSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public defaultKeyword: ISyntaxToken;
public colonToken: ISyntaxToken;
public statements: IStatementSyntax[];
- public _switchClauseBrand: any;
+ public _switchClauseBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, defaultKeyword: ISyntaxToken, colonToken: ISyntaxToken, statements: IStatementSyntax[]) {
if (data) { this.__data = data; }
this.defaultKeyword = defaultKeyword,
@@ -2008,15 +1709,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.DefaultSwitchClause;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitDefaultSwitchClause(this);
- }
}
export class ElseClauseSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public elseKeyword: ISyntaxToken;
public statement: IStatementSyntax;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, elseKeyword: ISyntaxToken, statement: IStatementSyntax) {
if (data) { this.__data = data; }
this.elseKeyword = elseKeyword,
@@ -2028,10 +1726,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ElseClause;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitElseClause(this);
- }
}
export class CatchClauseSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -2041,6 +1735,7 @@ module TypeScript {
public typeAnnotation: TypeAnnotationSyntax;
public closeParenToken: ISyntaxToken;
public block: BlockSyntax;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, catchKeyword: ISyntaxToken, openParenToken: ISyntaxToken, identifier: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, closeParenToken: ISyntaxToken, block: BlockSyntax) {
if (data) { this.__data = data; }
this.catchKeyword = catchKeyword,
@@ -2060,15 +1755,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.CatchClause;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitCatchClause(this);
- }
}
export class FinallyClauseSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public finallyKeyword: ISyntaxToken;
public block: BlockSyntax;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, finallyKeyword: ISyntaxToken, block: BlockSyntax) {
if (data) { this.__data = data; }
this.finallyKeyword = finallyKeyword,
@@ -2080,15 +1772,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.FinallyClause;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitFinallyClause(this);
- }
}
export class TemplateClauseSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public expression: IExpressionSyntax;
public templateMiddleOrEndToken: ISyntaxToken;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, expression: IExpressionSyntax, templateMiddleOrEndToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.expression = expression,
@@ -2100,15 +1789,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TemplateClause;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTemplateClause(this);
- }
}
export class TypeParameterSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public identifier: ISyntaxToken;
public constraint: ConstraintSyntax;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, identifier: ISyntaxToken, constraint: ConstraintSyntax) {
if (data) { this.__data = data; }
this.identifier = identifier,
@@ -2120,15 +1806,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TypeParameter;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTypeParameter(this);
- }
}
export class ConstraintSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public extendsKeyword: ISyntaxToken;
public typeOrExpression: ISyntaxNodeOrToken;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, extendsKeyword: ISyntaxToken, typeOrExpression: ISyntaxNodeOrToken) {
if (data) { this.__data = data; }
this.extendsKeyword = extendsKeyword,
@@ -2140,17 +1823,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.Constraint;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitConstraint(this);
- }
}
export class SimplePropertyAssignmentSyntax implements ISyntaxNode, IPropertyAssignmentSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public propertyName: ISyntaxToken;
public colonToken: ISyntaxToken;
public expression: IExpressionSyntax;
- public _propertyAssignmentBrand: any;
+ public _propertyAssignmentBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, propertyName: ISyntaxToken, colonToken: ISyntaxToken, expression: IExpressionSyntax) {
if (data) { this.__data = data; }
this.propertyName = propertyName,
@@ -2164,17 +1843,13 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.SimplePropertyAssignment;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitSimplePropertyAssignment(this);
- }
}
export class FunctionPropertyAssignmentSyntax implements ISyntaxNode, IPropertyAssignmentSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public propertyName: ISyntaxToken;
public callSignature: CallSignatureSyntax;
public block: BlockSyntax;
- public _propertyAssignmentBrand: any;
+ public _propertyAssignmentBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, propertyName: ISyntaxToken, callSignature: CallSignatureSyntax, block: BlockSyntax) {
if (data) { this.__data = data; }
this.propertyName = propertyName,
@@ -2188,10 +1863,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.FunctionPropertyAssignment;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitFunctionPropertyAssignment(this);
- }
}
export class ParameterSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -2201,6 +1872,7 @@ module TypeScript {
public questionToken: ISyntaxToken;
public typeAnnotation: TypeAnnotationSyntax;
public equalsValueClause: EqualsValueClauseSyntax;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, dotDotDotToken: ISyntaxToken, modifiers: ISyntaxToken[], identifier: ISyntaxToken, questionToken: ISyntaxToken, typeAnnotation: TypeAnnotationSyntax, equalsValueClause: EqualsValueClauseSyntax) {
if (data) { this.__data = data; }
this.dotDotDotToken = dotDotDotToken,
@@ -2220,15 +1892,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.Parameter;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitParameter(this);
- }
}
export class EnumElementSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public propertyName: ISyntaxToken;
public equalsValueClause: EqualsValueClauseSyntax;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, propertyName: ISyntaxToken, equalsValueClause: EqualsValueClauseSyntax) {
if (data) { this.__data = data; }
this.propertyName = propertyName,
@@ -2240,15 +1909,12 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.EnumElement;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitEnumElement(this);
- }
}
export class TypeAnnotationSyntax implements ISyntaxNode {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public colonToken: ISyntaxToken;
public type: ITypeSyntax;
+ public _syntaxNodeOrTokenBrand: any;
constructor(data: number, colonToken: ISyntaxToken, type: ITypeSyntax) {
if (data) { this.__data = data; }
this.colonToken = colonToken,
@@ -2260,10 +1926,6 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.TypeAnnotation;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitTypeAnnotation(this);
- }
}
export class ExternalModuleReferenceSyntax implements ISyntaxNode, IModuleReferenceSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
@@ -2271,7 +1933,7 @@ module TypeScript {
public openParenToken: ISyntaxToken;
public stringLiteral: ISyntaxToken;
public closeParenToken: ISyntaxToken;
- public _moduleReferenceBrand: any;
+ public _moduleReferenceBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, requireKeyword: ISyntaxToken, openParenToken: ISyntaxToken, stringLiteral: ISyntaxToken, closeParenToken: ISyntaxToken) {
if (data) { this.__data = data; }
this.requireKeyword = requireKeyword,
@@ -2287,15 +1949,11 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ExternalModuleReference;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitExternalModuleReference(this);
- }
}
export class ModuleNameModuleReferenceSyntax implements ISyntaxNode, IModuleReferenceSyntax {
public __data: number; public __cachedTokens: ISyntaxToken[]; public parent: ISyntaxElement;
public moduleName: INameSyntax;
- public _moduleReferenceBrand: any;
+ public _moduleReferenceBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(data: number, moduleName: INameSyntax) {
if (data) { this.__data = data; }
this.moduleName = moduleName,
@@ -2305,9 +1963,5 @@ module TypeScript {
public kind(): SyntaxKind {
return SyntaxKind.ModuleNameModuleReference;
}
-
- public accept(visitor: ISyntaxVisitor): SyntaxKind {
- return visitor.visitModuleNameModuleReference(this);
- }
}
}
\ No newline at end of file
diff --git a/src/services/syntax/syntaxToken.ts b/src/services/syntax/syntaxToken.ts
index 9ea8047245d..28045ddc37e 100644
--- a/src/services/syntax/syntaxToken.ts
+++ b/src/services/syntax/syntaxToken.ts
@@ -304,7 +304,7 @@ module TypeScript.Syntax {
}
class EmptyToken implements ISyntaxToken {
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(private _kind: SyntaxKind) {
}
@@ -427,7 +427,7 @@ module TypeScript.Syntax {
private _text: string;
private _trailingTrivia: ISyntaxTriviaList;
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(fullStart: number,
kind: SyntaxKind,
@@ -496,7 +496,7 @@ module TypeScript.Syntax {
}
class ConvertedKeywordToken implements ISyntaxToken {
- public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any;
+ public _primaryExpressionBrand: any; public _memberExpressionBrand: any; public _leftHandSideExpressionBrand: any; public _postfixExpressionBrand: any; public _unaryExpressionBrand: any; public _expressionBrand: any; public _typeBrand: any; public _syntaxNodeOrTokenBrand: any;
constructor(private underlyingToken: ISyntaxToken) {
}
diff --git a/src/services/syntax/syntaxVisitor.generated.ts b/src/services/syntax/syntaxVisitor.generated.ts
index f0d50ed5263..4eca73a7765 100644
--- a/src/services/syntax/syntaxVisitor.generated.ts
+++ b/src/services/syntax/syntaxVisitor.generated.ts
@@ -3,7 +3,100 @@
module TypeScript {
export function visitNodeOrToken(visitor: ISyntaxVisitor, element: ISyntaxNodeOrToken): any {
if (element === undefined) { return undefined; }
- return element.accept(visitor);
+ switch (element.kind()) {
+ case SyntaxKind.SourceUnit: return visitor.visitSourceUnit(element);
+ case SyntaxKind.QualifiedName: return visitor.visitQualifiedName(element);
+ case SyntaxKind.ObjectType: return visitor.visitObjectType(element);
+ case SyntaxKind.FunctionType: return visitor.visitFunctionType(element);
+ case SyntaxKind.ArrayType: return visitor.visitArrayType(element);
+ case SyntaxKind.ConstructorType: return visitor.visitConstructorType(element);
+ case SyntaxKind.GenericType: return visitor.visitGenericType(element);
+ case SyntaxKind.TypeQuery: return visitor.visitTypeQuery(element);
+ case SyntaxKind.TupleType: return visitor.visitTupleType(element);
+ case SyntaxKind.UnionType: return visitor.visitUnionType(element);
+ case SyntaxKind.ParenthesizedType: return visitor.visitParenthesizedType(element);
+ case SyntaxKind.InterfaceDeclaration: return visitor.visitInterfaceDeclaration(element);
+ case SyntaxKind.FunctionDeclaration: return visitor.visitFunctionDeclaration(element);
+ case SyntaxKind.ModuleDeclaration: return visitor.visitModuleDeclaration(element);
+ case SyntaxKind.ClassDeclaration: return visitor.visitClassDeclaration(element);
+ case SyntaxKind.EnumDeclaration: return visitor.visitEnumDeclaration(element);
+ case SyntaxKind.ImportDeclaration: return visitor.visitImportDeclaration(element);
+ case SyntaxKind.ExportAssignment: return visitor.visitExportAssignment(element);
+ case SyntaxKind.MemberFunctionDeclaration: return visitor.visitMemberFunctionDeclaration(element);
+ case SyntaxKind.MemberVariableDeclaration: return visitor.visitMemberVariableDeclaration(element);
+ case SyntaxKind.ConstructorDeclaration: return visitor.visitConstructorDeclaration(element);
+ case SyntaxKind.IndexMemberDeclaration: return visitor.visitIndexMemberDeclaration(element);
+ case SyntaxKind.GetAccessor: return visitor.visitGetAccessor(element);
+ case SyntaxKind.SetAccessor: return visitor.visitSetAccessor(element);
+ case SyntaxKind.PropertySignature: return visitor.visitPropertySignature(element);
+ case SyntaxKind.CallSignature: return visitor.visitCallSignature(element);
+ case SyntaxKind.ConstructSignature: return visitor.visitConstructSignature(element);
+ case SyntaxKind.IndexSignature: return visitor.visitIndexSignature(element);
+ case SyntaxKind.MethodSignature: return visitor.visitMethodSignature(element);
+ case SyntaxKind.Block: return visitor.visitBlock(element);
+ case SyntaxKind.IfStatement: return visitor.visitIfStatement(element);
+ case SyntaxKind.VariableStatement: return visitor.visitVariableStatement(element);
+ case SyntaxKind.ExpressionStatement: return visitor.visitExpressionStatement(element);
+ case SyntaxKind.ReturnStatement: return visitor.visitReturnStatement(element);
+ case SyntaxKind.SwitchStatement: return visitor.visitSwitchStatement(element);
+ case SyntaxKind.BreakStatement: return visitor.visitBreakStatement(element);
+ case SyntaxKind.ContinueStatement: return visitor.visitContinueStatement(element);
+ case SyntaxKind.ForStatement: return visitor.visitForStatement(element);
+ case SyntaxKind.ForInStatement: return visitor.visitForInStatement(element);
+ case SyntaxKind.EmptyStatement: return visitor.visitEmptyStatement(element);
+ case SyntaxKind.ThrowStatement: return visitor.visitThrowStatement(element);
+ case SyntaxKind.WhileStatement: return visitor.visitWhileStatement(element);
+ case SyntaxKind.TryStatement: return visitor.visitTryStatement(element);
+ case SyntaxKind.LabeledStatement: return visitor.visitLabeledStatement(element);
+ case SyntaxKind.DoStatement: return visitor.visitDoStatement(element);
+ case SyntaxKind.DebuggerStatement: return visitor.visitDebuggerStatement(element);
+ case SyntaxKind.WithStatement: return visitor.visitWithStatement(element);
+ case SyntaxKind.PrefixUnaryExpression: return visitor.visitPrefixUnaryExpression(element);
+ case SyntaxKind.DeleteExpression: return visitor.visitDeleteExpression(element);
+ case SyntaxKind.TypeOfExpression: return visitor.visitTypeOfExpression(element);
+ case SyntaxKind.VoidExpression: return visitor.visitVoidExpression(element);
+ case SyntaxKind.ConditionalExpression: return visitor.visitConditionalExpression(element);
+ case SyntaxKind.BinaryExpression: return visitor.visitBinaryExpression(element);
+ case SyntaxKind.PostfixUnaryExpression: return visitor.visitPostfixUnaryExpression(element);
+ case SyntaxKind.MemberAccessExpression: return visitor.visitMemberAccessExpression(element);
+ case SyntaxKind.InvocationExpression: return visitor.visitInvocationExpression(element);
+ case SyntaxKind.ArrayLiteralExpression: return visitor.visitArrayLiteralExpression(element);
+ case SyntaxKind.ObjectLiteralExpression: return visitor.visitObjectLiteralExpression(element);
+ case SyntaxKind.ObjectCreationExpression: return visitor.visitObjectCreationExpression(element);
+ case SyntaxKind.ParenthesizedExpression: return visitor.visitParenthesizedExpression(element);
+ case SyntaxKind.ParenthesizedArrowFunctionExpression: return visitor.visitParenthesizedArrowFunctionExpression(element);
+ case SyntaxKind.SimpleArrowFunctionExpression: return visitor.visitSimpleArrowFunctionExpression(element);
+ case SyntaxKind.CastExpression: return visitor.visitCastExpression(element);
+ case SyntaxKind.ElementAccessExpression: return visitor.visitElementAccessExpression(element);
+ case SyntaxKind.FunctionExpression: return visitor.visitFunctionExpression(element);
+ case SyntaxKind.OmittedExpression: return visitor.visitOmittedExpression(element);
+ case SyntaxKind.TemplateExpression: return visitor.visitTemplateExpression(element);
+ case SyntaxKind.TemplateAccessExpression: return visitor.visitTemplateAccessExpression(element);
+ case SyntaxKind.VariableDeclaration: return visitor.visitVariableDeclaration(element);
+ case SyntaxKind.VariableDeclarator: return visitor.visitVariableDeclarator(element);
+ case SyntaxKind.ArgumentList: return visitor.visitArgumentList(element);
+ case SyntaxKind.ParameterList: return visitor.visitParameterList(element);
+ case SyntaxKind.TypeArgumentList: return visitor.visitTypeArgumentList(element);
+ case SyntaxKind.TypeParameterList: return visitor.visitTypeParameterList(element);
+ case SyntaxKind.HeritageClause: return visitor.visitHeritageClause(element);
+ case SyntaxKind.EqualsValueClause: return visitor.visitEqualsValueClause(element);
+ case SyntaxKind.CaseSwitchClause: return visitor.visitCaseSwitchClause(element);
+ case SyntaxKind.DefaultSwitchClause: return visitor.visitDefaultSwitchClause(element);
+ case SyntaxKind.ElseClause: return visitor.visitElseClause(element);
+ case SyntaxKind.CatchClause: return visitor.visitCatchClause(element);
+ case SyntaxKind.FinallyClause: return visitor.visitFinallyClause(element);
+ case SyntaxKind.TemplateClause: return visitor.visitTemplateClause(element);
+ case SyntaxKind.TypeParameter: return visitor.visitTypeParameter(element);
+ case SyntaxKind.Constraint: return visitor.visitConstraint(element);
+ case SyntaxKind.SimplePropertyAssignment: return visitor.visitSimplePropertyAssignment(element);
+ case SyntaxKind.FunctionPropertyAssignment: return visitor.visitFunctionPropertyAssignment(element);
+ case SyntaxKind.Parameter: return visitor.visitParameter(element);
+ case SyntaxKind.EnumElement: return visitor.visitEnumElement(element);
+ case SyntaxKind.TypeAnnotation: return visitor.visitTypeAnnotation(element);
+ case SyntaxKind.ExternalModuleReference: return visitor.visitExternalModuleReference(element);
+ case SyntaxKind.ModuleNameModuleReference: return visitor.visitModuleNameModuleReference(element);
+ default: return visitor.visitToken(element);
+ }
}
export interface ISyntaxVisitor {
diff --git a/src/services/syntax/syntaxWalker.generated.ts b/src/services/syntax/syntaxWalker.generated.ts
index 675a572f4b7..7fb54355ca8 100644
--- a/src/services/syntax/syntaxWalker.generated.ts
+++ b/src/services/syntax/syntaxWalker.generated.ts
@@ -13,28 +13,19 @@ module TypeScript {
this.visitToken(token);
}
- private visitOptionalNode(node: ISyntaxNode): void {
- if (node === undefined) {
- return;
- }
-
- node.accept(this);
- }
-
public visitList(list: ISyntaxNodeOrToken[]): void {
for (var i = 0, n = list.length; i < n; i++) {
- list[i].accept(this);
+ visitNodeOrToken(this, list[i]);
}
}
-
public visitSourceUnit(node: SourceUnitSyntax): void {
this.visitList(node.moduleElements);
this.visitToken(node.endOfFileToken);
}
public visitQualifiedName(node: QualifiedNameSyntax): void {
- node.left.accept(this);
+ visitNodeOrToken(this, node.left);
this.visitToken(node.dotToken);
this.visitToken(node.right);
}
@@ -46,34 +37,34 @@ module TypeScript {
}
public visitFunctionType(node: FunctionTypeSyntax): void {
- this.visitOptionalNode(node.typeParameterList);
- node.parameterList.accept(this);
+ visitNodeOrToken(this, node.typeParameterList);
+ visitNodeOrToken(this, node.parameterList);
this.visitToken(node.equalsGreaterThanToken);
- node.type.accept(this);
+ visitNodeOrToken(this, node.type);
}
public visitArrayType(node: ArrayTypeSyntax): void {
- node.type.accept(this);
+ visitNodeOrToken(this, node.type);
this.visitToken(node.openBracketToken);
this.visitToken(node.closeBracketToken);
}
public visitConstructorType(node: ConstructorTypeSyntax): void {
this.visitToken(node.newKeyword);
- this.visitOptionalNode(node.typeParameterList);
- node.parameterList.accept(this);
+ visitNodeOrToken(this, node.typeParameterList);
+ visitNodeOrToken(this, node.parameterList);
this.visitToken(node.equalsGreaterThanToken);
- node.type.accept(this);
+ visitNodeOrToken(this, node.type);
}
public visitGenericType(node: GenericTypeSyntax): void {
- node.name.accept(this);
- node.typeArgumentList.accept(this);
+ visitNodeOrToken(this, node.name);
+ visitNodeOrToken(this, node.typeArgumentList);
}
public visitTypeQuery(node: TypeQuerySyntax): void {
this.visitToken(node.typeOfKeyword);
- node.name.accept(this);
+ visitNodeOrToken(this, node.name);
}
public visitTupleType(node: TupleTypeSyntax): void {
@@ -83,14 +74,14 @@ module TypeScript {
}
public visitUnionType(node: UnionTypeSyntax): void {
- node.left.accept(this);
+ visitNodeOrToken(this, node.left);
this.visitToken(node.barToken);
- node.right.accept(this);
+ visitNodeOrToken(this, node.right);
}
public visitParenthesizedType(node: ParenthesizedTypeSyntax): void {
this.visitToken(node.openParenToken);
- node.type.accept(this);
+ visitNodeOrToken(this, node.type);
this.visitToken(node.closeParenToken);
}
@@ -98,17 +89,17 @@ module TypeScript {
this.visitList(node.modifiers);
this.visitToken(node.interfaceKeyword);
this.visitToken(node.identifier);
- this.visitOptionalNode(node.typeParameterList);
+ visitNodeOrToken(this, node.typeParameterList);
this.visitList(node.heritageClauses);
- node.body.accept(this);
+ visitNodeOrToken(this, node.body);
}
public visitFunctionDeclaration(node: FunctionDeclarationSyntax): void {
this.visitList(node.modifiers);
this.visitToken(node.functionKeyword);
this.visitToken(node.identifier);
- node.callSignature.accept(this);
- this.visitOptionalNode(node.block);
+ visitNodeOrToken(this, node.callSignature);
+ visitNodeOrToken(this, node.block);
this.visitOptionalToken(node.semicolonToken);
}
@@ -126,7 +117,7 @@ module TypeScript {
this.visitList(node.modifiers);
this.visitToken(node.classKeyword);
this.visitToken(node.identifier);
- this.visitOptionalNode(node.typeParameterList);
+ visitNodeOrToken(this, node.typeParameterList);
this.visitList(node.heritageClauses);
this.visitToken(node.openBraceToken);
this.visitList(node.classElements);
@@ -147,7 +138,7 @@ module TypeScript {
this.visitToken(node.importKeyword);
this.visitToken(node.identifier);
this.visitToken(node.equalsToken);
- node.moduleReference.accept(this);
+ visitNodeOrToken(this, node.moduleReference);
this.visitOptionalToken(node.semicolonToken);
}
@@ -161,28 +152,28 @@ module TypeScript {
public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): void {
this.visitList(node.modifiers);
this.visitToken(node.propertyName);
- node.callSignature.accept(this);
- this.visitOptionalNode(node.block);
+ visitNodeOrToken(this, node.callSignature);
+ visitNodeOrToken(this, node.block);
this.visitOptionalToken(node.semicolonToken);
}
public visitMemberVariableDeclaration(node: MemberVariableDeclarationSyntax): void {
this.visitList(node.modifiers);
- node.variableDeclarator.accept(this);
+ visitNodeOrToken(this, node.variableDeclarator);
this.visitOptionalToken(node.semicolonToken);
}
public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): void {
this.visitList(node.modifiers);
this.visitToken(node.constructorKeyword);
- node.callSignature.accept(this);
- this.visitOptionalNode(node.block);
+ visitNodeOrToken(this, node.callSignature);
+ visitNodeOrToken(this, node.block);
this.visitOptionalToken(node.semicolonToken);
}
public visitIndexMemberDeclaration(node: IndexMemberDeclarationSyntax): void {
this.visitList(node.modifiers);
- node.indexSignature.accept(this);
+ visitNodeOrToken(this, node.indexSignature);
this.visitOptionalToken(node.semicolonToken);
}
@@ -190,46 +181,46 @@ module TypeScript {
this.visitList(node.modifiers);
this.visitToken(node.getKeyword);
this.visitToken(node.propertyName);
- node.callSignature.accept(this);
- node.block.accept(this);
+ visitNodeOrToken(this, node.callSignature);
+ visitNodeOrToken(this, node.block);
}
public visitSetAccessor(node: SetAccessorSyntax): void {
this.visitList(node.modifiers);
this.visitToken(node.setKeyword);
this.visitToken(node.propertyName);
- node.callSignature.accept(this);
- node.block.accept(this);
+ visitNodeOrToken(this, node.callSignature);
+ visitNodeOrToken(this, node.block);
}
public visitPropertySignature(node: PropertySignatureSyntax): void {
this.visitToken(node.propertyName);
this.visitOptionalToken(node.questionToken);
- this.visitOptionalNode(node.typeAnnotation);
+ visitNodeOrToken(this, node.typeAnnotation);
}
public visitCallSignature(node: CallSignatureSyntax): void {
- this.visitOptionalNode(node.typeParameterList);
- node.parameterList.accept(this);
- this.visitOptionalNode(node.typeAnnotation);
+ visitNodeOrToken(this, node.typeParameterList);
+ visitNodeOrToken(this, node.parameterList);
+ visitNodeOrToken(this, node.typeAnnotation);
}
public visitConstructSignature(node: ConstructSignatureSyntax): void {
this.visitToken(node.newKeyword);
- node.callSignature.accept(this);
+ visitNodeOrToken(this, node.callSignature);
}
public visitIndexSignature(node: IndexSignatureSyntax): void {
this.visitToken(node.openBracketToken);
this.visitList(node.parameters);
this.visitToken(node.closeBracketToken);
- this.visitOptionalNode(node.typeAnnotation);
+ visitNodeOrToken(this, node.typeAnnotation);
}
public visitMethodSignature(node: MethodSignatureSyntax): void {
this.visitToken(node.propertyName);
this.visitOptionalToken(node.questionToken);
- node.callSignature.accept(this);
+ visitNodeOrToken(this, node.callSignature);
}
public visitBlock(node: BlockSyntax): void {
@@ -241,20 +232,20 @@ module TypeScript {
public visitIfStatement(node: IfStatementSyntax): void {
this.visitToken(node.ifKeyword);
this.visitToken(node.openParenToken);
- node.condition.accept(this);
+ visitNodeOrToken(this, node.condition);
this.visitToken(node.closeParenToken);
- node.statement.accept(this);
- this.visitOptionalNode(node.elseClause);
+ visitNodeOrToken(this, node.statement);
+ visitNodeOrToken(this, node.elseClause);
}
public visitVariableStatement(node: VariableStatementSyntax): void {
this.visitList(node.modifiers);
- node.variableDeclaration.accept(this);
+ visitNodeOrToken(this, node.variableDeclaration);
this.visitOptionalToken(node.semicolonToken);
}
public visitExpressionStatement(node: ExpressionStatementSyntax): void {
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.visitOptionalToken(node.semicolonToken);
}
@@ -267,7 +258,7 @@ module TypeScript {
public visitSwitchStatement(node: SwitchStatementSyntax): void {
this.visitToken(node.switchKeyword);
this.visitToken(node.openParenToken);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.visitToken(node.closeParenToken);
this.visitToken(node.openBraceToken);
this.visitList(node.switchClauses);
@@ -289,25 +280,25 @@ module TypeScript {
public visitForStatement(node: ForStatementSyntax): void {
this.visitToken(node.forKeyword);
this.visitToken(node.openParenToken);
- this.visitOptionalNode(node.variableDeclaration);
+ visitNodeOrToken(this, node.variableDeclaration);
visitNodeOrToken(this, node.initializer);
this.visitToken(node.firstSemicolonToken);
visitNodeOrToken(this, node.condition);
this.visitToken(node.secondSemicolonToken);
visitNodeOrToken(this, node.incrementor);
this.visitToken(node.closeParenToken);
- node.statement.accept(this);
+ visitNodeOrToken(this, node.statement);
}
public visitForInStatement(node: ForInStatementSyntax): void {
this.visitToken(node.forKeyword);
this.visitToken(node.openParenToken);
- this.visitOptionalNode(node.variableDeclaration);
+ visitNodeOrToken(this, node.variableDeclaration);
visitNodeOrToken(this, node.left);
this.visitToken(node.inKeyword);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.visitToken(node.closeParenToken);
- node.statement.accept(this);
+ visitNodeOrToken(this, node.statement);
}
public visitEmptyStatement(node: EmptyStatementSyntax): void {
@@ -316,37 +307,37 @@ module TypeScript {
public visitThrowStatement(node: ThrowStatementSyntax): void {
this.visitToken(node.throwKeyword);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.visitOptionalToken(node.semicolonToken);
}
public visitWhileStatement(node: WhileStatementSyntax): void {
this.visitToken(node.whileKeyword);
this.visitToken(node.openParenToken);
- node.condition.accept(this);
+ visitNodeOrToken(this, node.condition);
this.visitToken(node.closeParenToken);
- node.statement.accept(this);
+ visitNodeOrToken(this, node.statement);
}
public visitTryStatement(node: TryStatementSyntax): void {
this.visitToken(node.tryKeyword);
- node.block.accept(this);
- this.visitOptionalNode(node.catchClause);
- this.visitOptionalNode(node.finallyClause);
+ visitNodeOrToken(this, node.block);
+ visitNodeOrToken(this, node.catchClause);
+ visitNodeOrToken(this, node.finallyClause);
}
public visitLabeledStatement(node: LabeledStatementSyntax): void {
this.visitToken(node.identifier);
this.visitToken(node.colonToken);
- node.statement.accept(this);
+ visitNodeOrToken(this, node.statement);
}
public visitDoStatement(node: DoStatementSyntax): void {
this.visitToken(node.doKeyword);
- node.statement.accept(this);
+ visitNodeOrToken(this, node.statement);
this.visitToken(node.whileKeyword);
this.visitToken(node.openParenToken);
- node.condition.accept(this);
+ visitNodeOrToken(this, node.condition);
this.visitToken(node.closeParenToken);
this.visitOptionalToken(node.semicolonToken);
}
@@ -359,59 +350,59 @@ module TypeScript {
public visitWithStatement(node: WithStatementSyntax): void {
this.visitToken(node.withKeyword);
this.visitToken(node.openParenToken);
- node.condition.accept(this);
+ visitNodeOrToken(this, node.condition);
this.visitToken(node.closeParenToken);
- node.statement.accept(this);
+ visitNodeOrToken(this, node.statement);
}
public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): void {
this.visitToken(node.operatorToken);
- node.operand.accept(this);
+ visitNodeOrToken(this, node.operand);
}
public visitDeleteExpression(node: DeleteExpressionSyntax): void {
this.visitToken(node.deleteKeyword);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
}
public visitTypeOfExpression(node: TypeOfExpressionSyntax): void {
this.visitToken(node.typeOfKeyword);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
}
public visitVoidExpression(node: VoidExpressionSyntax): void {
this.visitToken(node.voidKeyword);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
}
public visitConditionalExpression(node: ConditionalExpressionSyntax): void {
- node.condition.accept(this);
+ visitNodeOrToken(this, node.condition);
this.visitToken(node.questionToken);
- node.whenTrue.accept(this);
+ visitNodeOrToken(this, node.whenTrue);
this.visitToken(node.colonToken);
- node.whenFalse.accept(this);
+ visitNodeOrToken(this, node.whenFalse);
}
public visitBinaryExpression(node: BinaryExpressionSyntax): void {
- node.left.accept(this);
+ visitNodeOrToken(this, node.left);
this.visitToken(node.operatorToken);
- node.right.accept(this);
+ visitNodeOrToken(this, node.right);
}
public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): void {
- node.operand.accept(this);
+ visitNodeOrToken(this, node.operand);
this.visitToken(node.operatorToken);
}
public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): void {
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.visitToken(node.dotToken);
this.visitToken(node.name);
}
public visitInvocationExpression(node: InvocationExpressionSyntax): void {
- node.expression.accept(this);
- node.argumentList.accept(this);
+ visitNodeOrToken(this, node.expression);
+ visitNodeOrToken(this, node.argumentList);
}
public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): void {
@@ -428,49 +419,49 @@ module TypeScript {
public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): void {
this.visitToken(node.newKeyword);
- node.expression.accept(this);
- this.visitOptionalNode(node.argumentList);
+ visitNodeOrToken(this, node.expression);
+ visitNodeOrToken(this, node.argumentList);
}
public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): void {
this.visitToken(node.openParenToken);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.visitToken(node.closeParenToken);
}
public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): void {
- node.callSignature.accept(this);
+ visitNodeOrToken(this, node.callSignature);
this.visitToken(node.equalsGreaterThanToken);
- this.visitOptionalNode(node.block);
+ visitNodeOrToken(this, node.block);
visitNodeOrToken(this, node.expression);
}
public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): void {
- node.parameter.accept(this);
+ visitNodeOrToken(this, node.parameter);
this.visitToken(node.equalsGreaterThanToken);
- this.visitOptionalNode(node.block);
+ visitNodeOrToken(this, node.block);
visitNodeOrToken(this, node.expression);
}
public visitCastExpression(node: CastExpressionSyntax): void {
this.visitToken(node.lessThanToken);
- node.type.accept(this);
+ visitNodeOrToken(this, node.type);
this.visitToken(node.greaterThanToken);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
}
public visitElementAccessExpression(node: ElementAccessExpressionSyntax): void {
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.visitToken(node.openBracketToken);
- node.argumentExpression.accept(this);
+ visitNodeOrToken(this, node.argumentExpression);
this.visitToken(node.closeBracketToken);
}
public visitFunctionExpression(node: FunctionExpressionSyntax): void {
this.visitToken(node.functionKeyword);
this.visitOptionalToken(node.identifier);
- node.callSignature.accept(this);
- node.block.accept(this);
+ visitNodeOrToken(this, node.callSignature);
+ visitNodeOrToken(this, node.block);
}
public visitOmittedExpression(node: OmittedExpressionSyntax): void {
@@ -482,8 +473,8 @@ module TypeScript {
}
public visitTemplateAccessExpression(node: TemplateAccessExpressionSyntax): void {
- node.expression.accept(this);
- node.templateExpression.accept(this);
+ visitNodeOrToken(this, node.expression);
+ visitNodeOrToken(this, node.templateExpression);
}
public visitVariableDeclaration(node: VariableDeclarationSyntax): void {
@@ -493,12 +484,12 @@ module TypeScript {
public visitVariableDeclarator(node: VariableDeclaratorSyntax): void {
this.visitToken(node.propertyName);
- this.visitOptionalNode(node.typeAnnotation);
- this.visitOptionalNode(node.equalsValueClause);
+ visitNodeOrToken(this, node.typeAnnotation);
+ visitNodeOrToken(this, node.equalsValueClause);
}
public visitArgumentList(node: ArgumentListSyntax): void {
- this.visitOptionalNode(node.typeArgumentList);
+ visitNodeOrToken(this, node.typeArgumentList);
this.visitToken(node.openParenToken);
this.visitList(node.arguments);
this.visitToken(node.closeParenToken);
@@ -529,12 +520,12 @@ module TypeScript {
public visitEqualsValueClause(node: EqualsValueClauseSyntax): void {
this.visitToken(node.equalsToken);
- node.value.accept(this);
+ visitNodeOrToken(this, node.value);
}
public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): void {
this.visitToken(node.caseKeyword);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.visitToken(node.colonToken);
this.visitList(node.statements);
}
@@ -547,48 +538,48 @@ module TypeScript {
public visitElseClause(node: ElseClauseSyntax): void {
this.visitToken(node.elseKeyword);
- node.statement.accept(this);
+ visitNodeOrToken(this, node.statement);
}
public visitCatchClause(node: CatchClauseSyntax): void {
this.visitToken(node.catchKeyword);
this.visitToken(node.openParenToken);
this.visitToken(node.identifier);
- this.visitOptionalNode(node.typeAnnotation);
+ visitNodeOrToken(this, node.typeAnnotation);
this.visitToken(node.closeParenToken);
- node.block.accept(this);
+ visitNodeOrToken(this, node.block);
}
public visitFinallyClause(node: FinallyClauseSyntax): void {
this.visitToken(node.finallyKeyword);
- node.block.accept(this);
+ visitNodeOrToken(this, node.block);
}
public visitTemplateClause(node: TemplateClauseSyntax): void {
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
this.visitToken(node.templateMiddleOrEndToken);
}
public visitTypeParameter(node: TypeParameterSyntax): void {
this.visitToken(node.identifier);
- this.visitOptionalNode(node.constraint);
+ visitNodeOrToken(this, node.constraint);
}
public visitConstraint(node: ConstraintSyntax): void {
this.visitToken(node.extendsKeyword);
- node.typeOrExpression.accept(this);
+ visitNodeOrToken(this, node.typeOrExpression);
}
public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): void {
this.visitToken(node.propertyName);
this.visitToken(node.colonToken);
- node.expression.accept(this);
+ visitNodeOrToken(this, node.expression);
}
public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): void {
this.visitToken(node.propertyName);
- node.callSignature.accept(this);
- node.block.accept(this);
+ visitNodeOrToken(this, node.callSignature);
+ visitNodeOrToken(this, node.block);
}
public visitParameter(node: ParameterSyntax): void {
@@ -596,18 +587,18 @@ module TypeScript {
this.visitList(node.modifiers);
this.visitToken(node.identifier);
this.visitOptionalToken(node.questionToken);
- this.visitOptionalNode(node.typeAnnotation);
- this.visitOptionalNode(node.equalsValueClause);
+ visitNodeOrToken(this, node.typeAnnotation);
+ visitNodeOrToken(this, node.equalsValueClause);
}
public visitEnumElement(node: EnumElementSyntax): void {
this.visitToken(node.propertyName);
- this.visitOptionalNode(node.equalsValueClause);
+ visitNodeOrToken(this, node.equalsValueClause);
}
public visitTypeAnnotation(node: TypeAnnotationSyntax): void {
this.visitToken(node.colonToken);
- node.type.accept(this);
+ visitNodeOrToken(this, node.type);
}
public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): void {
@@ -618,7 +609,7 @@ module TypeScript {
}
public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): void {
- node.moduleName.accept(this);
+ visitNodeOrToken(this, node.moduleName);
}
}
}
\ No newline at end of file