mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 11:54:44 -06:00
Merge branch 'master' into removeUnnecessaryCode
This commit is contained in:
commit
70948bb1bf
@ -52,7 +52,7 @@ module TypeScript.Services.Formatting {
|
||||
rulesProvider: RulesProvider,
|
||||
formattingRequestKind: FormattingRequestKind): TextEditInfo[] {
|
||||
var walker = new Formatter(textSpan, sourceUnit, indentFirstToken, options, snapshot, rulesProvider, formattingRequestKind);
|
||||
visitNodeOrToken(walker, sourceUnit);
|
||||
walker.walk(sourceUnit);
|
||||
return walker.edits();
|
||||
}
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
///<reference path='formatting.ts' />
|
||||
|
||||
module TypeScript.Services.Formatting {
|
||||
export class IndentationTrackingWalker extends SyntaxWalker {
|
||||
export class IndentationTrackingWalker {
|
||||
private _position: number = 0;
|
||||
private _parent: IndentationNodeContext = null;
|
||||
private _textSpan: TextSpan;
|
||||
@ -26,8 +26,6 @@ module TypeScript.Services.Formatting {
|
||||
private _text: ISimpleText;
|
||||
|
||||
constructor(textSpan: TextSpan, sourceUnit: SourceUnitSyntax, snapshot: ITextSnapshot, indentFirstToken: boolean, public options: FormattingOptions) {
|
||||
super();
|
||||
|
||||
// Create a pool object to manage context nodes while walking the tree
|
||||
this._indentationNodeContextPool = new IndentationNodeContextPool();
|
||||
|
||||
@ -100,7 +98,23 @@ module TypeScript.Services.Formatting {
|
||||
this._position += token.fullWidth();
|
||||
}
|
||||
|
||||
public visitNode(node: ISyntaxNode): void {
|
||||
public walk(element: ISyntaxElement) {
|
||||
if (element && !isShared(element)) {
|
||||
if (isToken(element)) {
|
||||
this.visitToken(<ISyntaxToken>element);
|
||||
}
|
||||
else if (element.kind() === SyntaxKind.List || element.kind() === SyntaxKind.SeparatedList) {
|
||||
for (var i = 0, n = childCount(element); i < n; i++) {
|
||||
this.walk(childAt(element, i));
|
||||
}
|
||||
}
|
||||
else {
|
||||
this.visitNode(<ISyntaxNode>element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private visitNode(node: ISyntaxNode): void {
|
||||
var nodeSpan = new TextSpan(this._position, fullWidth(node));
|
||||
|
||||
if (nodeSpan.intersectsWithTextSpan(this._textSpan)) {
|
||||
@ -112,7 +126,9 @@ module TypeScript.Services.Formatting {
|
||||
this._parent = this._indentationNodeContextPool.getNode(currentParent, node, this._position, indentation.indentationAmount, indentation.indentationAmountDelta);
|
||||
|
||||
// Visit node
|
||||
visitNodeOrToken(this, node);
|
||||
for (var i = 0, n = childCount(node); i < n; i++) {
|
||||
this.walk(childAt(node, i));
|
||||
}
|
||||
|
||||
// Reset state
|
||||
this._indentationNodeContextPool.releaseNode(this._parent);
|
||||
|
||||
@ -448,42 +448,8 @@ module TypeScript.Services.Formatting {
|
||||
|
||||
switch (context.contextNode.kind()) {
|
||||
// binary expressions
|
||||
case SyntaxKind.AssignmentExpression:
|
||||
case SyntaxKind.AddAssignmentExpression:
|
||||
case SyntaxKind.SubtractAssignmentExpression:
|
||||
case SyntaxKind.MultiplyAssignmentExpression:
|
||||
case SyntaxKind.DivideAssignmentExpression:
|
||||
case SyntaxKind.ModuloAssignmentExpression:
|
||||
case SyntaxKind.AndAssignmentExpression:
|
||||
case SyntaxKind.ExclusiveOrAssignmentExpression:
|
||||
case SyntaxKind.OrAssignmentExpression:
|
||||
case SyntaxKind.LeftShiftAssignmentExpression:
|
||||
case SyntaxKind.SignedRightShiftAssignmentExpression:
|
||||
case SyntaxKind.UnsignedRightShiftAssignmentExpression:
|
||||
case SyntaxKind.BinaryExpression:
|
||||
case SyntaxKind.ConditionalExpression:
|
||||
case SyntaxKind.LogicalOrExpression:
|
||||
case SyntaxKind.LogicalAndExpression:
|
||||
case SyntaxKind.BitwiseOrExpression:
|
||||
case SyntaxKind.BitwiseExclusiveOrExpression:
|
||||
case SyntaxKind.BitwiseAndExpression:
|
||||
case SyntaxKind.EqualsWithTypeConversionExpression:
|
||||
case SyntaxKind.NotEqualsWithTypeConversionExpression:
|
||||
case SyntaxKind.EqualsExpression:
|
||||
case SyntaxKind.NotEqualsExpression:
|
||||
case SyntaxKind.LessThanExpression:
|
||||
case SyntaxKind.GreaterThanExpression:
|
||||
case SyntaxKind.LessThanOrEqualExpression:
|
||||
case SyntaxKind.GreaterThanOrEqualExpression:
|
||||
case SyntaxKind.InstanceOfExpression:
|
||||
case SyntaxKind.InExpression:
|
||||
case SyntaxKind.LeftShiftExpression:
|
||||
case SyntaxKind.SignedRightShiftExpression:
|
||||
case SyntaxKind.UnsignedRightShiftExpression:
|
||||
case SyntaxKind.MultiplyExpression:
|
||||
case SyntaxKind.DivideExpression:
|
||||
case SyntaxKind.ModuloExpression:
|
||||
case SyntaxKind.AddExpression:
|
||||
case SyntaxKind.SubtractExpression:
|
||||
return true;
|
||||
|
||||
// equal in import a = module('a');
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
///<reference path='references.ts' />
|
||||
|
||||
module TypeScript {
|
||||
export class DepthLimitedWalker extends SyntaxWalker {
|
||||
private _depth: number = 0;
|
||||
private _maximumDepth: number = 0;
|
||||
|
||||
constructor(maximumDepth: number) {
|
||||
super();
|
||||
this._maximumDepth = maximumDepth;
|
||||
}
|
||||
|
||||
public visitNode(node: ISyntaxNode): void {
|
||||
if (this._depth < this._maximumDepth) {
|
||||
this._depth++;
|
||||
super.visitNode(node);
|
||||
this._depth--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -552,7 +552,7 @@ module TypeScript.PrettyPrinter {
|
||||
public visitBinaryExpression(node: BinaryExpressionSyntax): void {
|
||||
visitNodeOrToken(this, node.left);
|
||||
|
||||
if (node.kind() !== SyntaxKind.CommaExpression) {
|
||||
if (node.operatorToken.kind() !== SyntaxKind.CommaToken) {
|
||||
this.ensureSpace();
|
||||
}
|
||||
|
||||
|
||||
@ -185,13 +185,17 @@ module TypeScript.Syntax {
|
||||
export function isIntegerLiteral(expression: IExpressionSyntax): boolean {
|
||||
if (expression) {
|
||||
switch (expression.kind()) {
|
||||
case SyntaxKind.PlusExpression:
|
||||
case SyntaxKind.NegateExpression:
|
||||
// Note: if there is a + or - sign, we can only allow a normal integer following
|
||||
// (and not a hex integer). i.e. -0xA is a legal expression, but it is not a
|
||||
// *literal*.
|
||||
expression = (<PrefixUnaryExpressionSyntax>expression).operand;
|
||||
return isToken(expression) && IntegerUtilities.isInteger((<ISyntaxToken>expression).text());
|
||||
case SyntaxKind.PrefixUnaryExpression:
|
||||
var prefixExpr = <PrefixUnaryExpressionSyntax>expression;
|
||||
if (prefixExpr.operatorToken.kind() == SyntaxKind.PlusToken || prefixExpr.operatorToken.kind() === SyntaxKind.MinusToken) {
|
||||
// Note: if there is a + or - sign, we can only allow a normal integer following
|
||||
// (and not a hex integer). i.e. -0xA is a legal expression, but it is not a
|
||||
// *literal*.
|
||||
expression = prefixExpr.operand;
|
||||
return isToken(expression) && IntegerUtilities.isInteger((<ISyntaxToken>expression).text());
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
case SyntaxKind.NumericLiteral:
|
||||
// If it doesn't have a + or -, then either an integer literal or a hex literal
|
||||
|
||||
@ -146,114 +146,60 @@ module TypeScript.SyntaxFacts {
|
||||
}
|
||||
|
||||
export function isPrefixUnaryExpressionOperatorToken(tokenKind: SyntaxKind): boolean {
|
||||
return getPrefixUnaryExpressionFromOperatorToken(tokenKind) !== SyntaxKind.None;
|
||||
switch (tokenKind) {
|
||||
case SyntaxKind.PlusToken:
|
||||
case SyntaxKind.MinusToken:
|
||||
case SyntaxKind.TildeToken:
|
||||
case SyntaxKind.ExclamationToken:
|
||||
case SyntaxKind.PlusPlusToken:
|
||||
case SyntaxKind.MinusMinusToken:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
export function isBinaryExpressionOperatorToken(tokenKind: SyntaxKind): boolean {
|
||||
return getBinaryExpressionFromOperatorToken(tokenKind) !== SyntaxKind.None;
|
||||
}
|
||||
|
||||
export function getPrefixUnaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind {
|
||||
switch (tokenKind) {
|
||||
case SyntaxKind.PlusToken: return SyntaxKind.PlusExpression;
|
||||
case SyntaxKind.MinusToken: return SyntaxKind.NegateExpression;
|
||||
case SyntaxKind.TildeToken: return SyntaxKind.BitwiseNotExpression;
|
||||
case SyntaxKind.ExclamationToken: return SyntaxKind.LogicalNotExpression;
|
||||
case SyntaxKind.PlusPlusToken: return SyntaxKind.PreIncrementExpression;
|
||||
case SyntaxKind.MinusMinusToken: return SyntaxKind.PreDecrementExpression;
|
||||
default: return SyntaxKind.None;
|
||||
}
|
||||
}
|
||||
|
||||
export function getPostfixUnaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind {
|
||||
switch (tokenKind) {
|
||||
case SyntaxKind.PlusPlusToken: return SyntaxKind.PostIncrementExpression;
|
||||
case SyntaxKind.MinusMinusToken: return SyntaxKind.PostDecrementExpression;
|
||||
default: return SyntaxKind.None;
|
||||
}
|
||||
}
|
||||
|
||||
export function getBinaryExpressionFromOperatorToken(tokenKind: SyntaxKind): SyntaxKind {
|
||||
switch (tokenKind) {
|
||||
case SyntaxKind.AsteriskToken: return SyntaxKind.MultiplyExpression;
|
||||
case SyntaxKind.SlashToken: return SyntaxKind.DivideExpression;
|
||||
case SyntaxKind.PercentToken: return SyntaxKind.ModuloExpression;
|
||||
case SyntaxKind.PlusToken: return SyntaxKind.AddExpression;
|
||||
case SyntaxKind.MinusToken: return SyntaxKind.SubtractExpression;
|
||||
case SyntaxKind.LessThanLessThanToken: return SyntaxKind.LeftShiftExpression;
|
||||
case SyntaxKind.GreaterThanGreaterThanToken: return SyntaxKind.SignedRightShiftExpression;
|
||||
case SyntaxKind.GreaterThanGreaterThanGreaterThanToken: return SyntaxKind.UnsignedRightShiftExpression;
|
||||
case SyntaxKind.LessThanToken: return SyntaxKind.LessThanExpression;
|
||||
case SyntaxKind.GreaterThanToken: return SyntaxKind.GreaterThanExpression;
|
||||
case SyntaxKind.LessThanEqualsToken: return SyntaxKind.LessThanOrEqualExpression;
|
||||
case SyntaxKind.GreaterThanEqualsToken: return SyntaxKind.GreaterThanOrEqualExpression;
|
||||
case SyntaxKind.InstanceOfKeyword: return SyntaxKind.InstanceOfExpression;
|
||||
case SyntaxKind.InKeyword: return SyntaxKind.InExpression;
|
||||
case SyntaxKind.EqualsEqualsToken: return SyntaxKind.EqualsWithTypeConversionExpression;
|
||||
case SyntaxKind.ExclamationEqualsToken: return SyntaxKind.NotEqualsWithTypeConversionExpression;
|
||||
case SyntaxKind.EqualsEqualsEqualsToken: return SyntaxKind.EqualsExpression;
|
||||
case SyntaxKind.ExclamationEqualsEqualsToken: return SyntaxKind.NotEqualsExpression;
|
||||
case SyntaxKind.AmpersandToken: return SyntaxKind.BitwiseAndExpression;
|
||||
case SyntaxKind.CaretToken: return SyntaxKind.BitwiseExclusiveOrExpression;
|
||||
case SyntaxKind.BarToken: return SyntaxKind.BitwiseOrExpression;
|
||||
case SyntaxKind.AmpersandAmpersandToken: return SyntaxKind.LogicalAndExpression;
|
||||
case SyntaxKind.BarBarToken: return SyntaxKind.LogicalOrExpression;
|
||||
case SyntaxKind.BarEqualsToken: return SyntaxKind.OrAssignmentExpression;
|
||||
case SyntaxKind.AmpersandEqualsToken: return SyntaxKind.AndAssignmentExpression;
|
||||
case SyntaxKind.CaretEqualsToken: return SyntaxKind.ExclusiveOrAssignmentExpression;
|
||||
case SyntaxKind.LessThanLessThanEqualsToken: return SyntaxKind.LeftShiftAssignmentExpression;
|
||||
case SyntaxKind.GreaterThanGreaterThanEqualsToken: return SyntaxKind.SignedRightShiftAssignmentExpression;
|
||||
case SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken: return SyntaxKind.UnsignedRightShiftAssignmentExpression;
|
||||
case SyntaxKind.PlusEqualsToken: return SyntaxKind.AddAssignmentExpression;
|
||||
case SyntaxKind.MinusEqualsToken: return SyntaxKind.SubtractAssignmentExpression;
|
||||
case SyntaxKind.AsteriskEqualsToken: return SyntaxKind.MultiplyAssignmentExpression;
|
||||
case SyntaxKind.SlashEqualsToken: return SyntaxKind.DivideAssignmentExpression;
|
||||
case SyntaxKind.PercentEqualsToken: return SyntaxKind.ModuloAssignmentExpression;
|
||||
case SyntaxKind.EqualsToken: return SyntaxKind.AssignmentExpression;
|
||||
case SyntaxKind.CommaToken: return SyntaxKind.CommaExpression;
|
||||
default: return SyntaxKind.None;
|
||||
}
|
||||
}
|
||||
|
||||
export function getOperatorTokenFromBinaryExpression(tokenKind: SyntaxKind): SyntaxKind {
|
||||
switch (tokenKind) {
|
||||
case SyntaxKind.MultiplyExpression: return SyntaxKind.AsteriskToken;
|
||||
case SyntaxKind.DivideExpression: return SyntaxKind.SlashToken;
|
||||
case SyntaxKind.ModuloExpression: return SyntaxKind.PercentToken;
|
||||
case SyntaxKind.AddExpression: return SyntaxKind.PlusToken;
|
||||
case SyntaxKind.SubtractExpression: return SyntaxKind.MinusToken;
|
||||
case SyntaxKind.LeftShiftExpression: return SyntaxKind.LessThanLessThanToken;
|
||||
case SyntaxKind.SignedRightShiftExpression: return SyntaxKind.GreaterThanGreaterThanToken;
|
||||
case SyntaxKind.UnsignedRightShiftExpression: return SyntaxKind.GreaterThanGreaterThanGreaterThanToken;
|
||||
case SyntaxKind.LessThanExpression: return SyntaxKind.LessThanToken;
|
||||
case SyntaxKind.GreaterThanExpression: return SyntaxKind.GreaterThanToken;
|
||||
case SyntaxKind.LessThanOrEqualExpression: return SyntaxKind.LessThanEqualsToken;
|
||||
case SyntaxKind.GreaterThanOrEqualExpression: return SyntaxKind.GreaterThanEqualsToken;
|
||||
case SyntaxKind.InstanceOfExpression: return SyntaxKind.InstanceOfKeyword;
|
||||
case SyntaxKind.InExpression: return SyntaxKind.InKeyword;
|
||||
case SyntaxKind.EqualsWithTypeConversionExpression: return SyntaxKind.EqualsEqualsToken;
|
||||
case SyntaxKind.NotEqualsWithTypeConversionExpression: return SyntaxKind.ExclamationEqualsToken;
|
||||
case SyntaxKind.EqualsExpression: return SyntaxKind.EqualsEqualsEqualsToken;
|
||||
case SyntaxKind.NotEqualsExpression: return SyntaxKind.ExclamationEqualsEqualsToken;
|
||||
case SyntaxKind.BitwiseAndExpression: return SyntaxKind.AmpersandToken;
|
||||
case SyntaxKind.BitwiseExclusiveOrExpression: return SyntaxKind.CaretToken;
|
||||
case SyntaxKind.BitwiseOrExpression: return SyntaxKind.BarToken;
|
||||
case SyntaxKind.LogicalAndExpression: return SyntaxKind.AmpersandAmpersandToken;
|
||||
case SyntaxKind.LogicalOrExpression: return SyntaxKind.BarBarToken;
|
||||
case SyntaxKind.OrAssignmentExpression: return SyntaxKind.BarEqualsToken;
|
||||
case SyntaxKind.AndAssignmentExpression: return SyntaxKind.AmpersandEqualsToken;
|
||||
case SyntaxKind.ExclusiveOrAssignmentExpression: return SyntaxKind.CaretEqualsToken;
|
||||
case SyntaxKind.LeftShiftAssignmentExpression: return SyntaxKind.LessThanLessThanEqualsToken;
|
||||
case SyntaxKind.SignedRightShiftAssignmentExpression: return SyntaxKind.GreaterThanGreaterThanEqualsToken;
|
||||
case SyntaxKind.UnsignedRightShiftAssignmentExpression: return SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken;
|
||||
case SyntaxKind.AddAssignmentExpression: return SyntaxKind.PlusEqualsToken;
|
||||
case SyntaxKind.SubtractAssignmentExpression: return SyntaxKind.MinusEqualsToken;
|
||||
case SyntaxKind.MultiplyAssignmentExpression: return SyntaxKind.AsteriskEqualsToken;
|
||||
case SyntaxKind.DivideAssignmentExpression: return SyntaxKind.SlashEqualsToken;
|
||||
case SyntaxKind.ModuloAssignmentExpression: return SyntaxKind.PercentEqualsToken;
|
||||
case SyntaxKind.AssignmentExpression: return SyntaxKind.EqualsToken;
|
||||
case SyntaxKind.CommaExpression: return SyntaxKind.CommaToken;
|
||||
default: return SyntaxKind.None;
|
||||
case SyntaxKind.AsteriskToken:
|
||||
case SyntaxKind.SlashToken:
|
||||
case SyntaxKind.PercentToken:
|
||||
case SyntaxKind.PlusToken:
|
||||
case SyntaxKind.MinusToken:
|
||||
case SyntaxKind.LessThanLessThanToken:
|
||||
case SyntaxKind.GreaterThanGreaterThanToken:
|
||||
case SyntaxKind.GreaterThanGreaterThanGreaterThanToken:
|
||||
case SyntaxKind.LessThanToken:
|
||||
case SyntaxKind.GreaterThanToken:
|
||||
case SyntaxKind.LessThanEqualsToken:
|
||||
case SyntaxKind.GreaterThanEqualsToken:
|
||||
case SyntaxKind.InstanceOfKeyword:
|
||||
case SyntaxKind.InKeyword:
|
||||
case SyntaxKind.EqualsEqualsToken:
|
||||
case SyntaxKind.ExclamationEqualsToken:
|
||||
case SyntaxKind.EqualsEqualsEqualsToken:
|
||||
case SyntaxKind.ExclamationEqualsEqualsToken:
|
||||
case SyntaxKind.AmpersandToken:
|
||||
case SyntaxKind.CaretToken:
|
||||
case SyntaxKind.BarToken:
|
||||
case SyntaxKind.AmpersandAmpersandToken:
|
||||
case SyntaxKind.BarBarToken:
|
||||
case SyntaxKind.BarEqualsToken:
|
||||
case SyntaxKind.AmpersandEqualsToken:
|
||||
case SyntaxKind.CaretEqualsToken:
|
||||
case SyntaxKind.LessThanLessThanEqualsToken:
|
||||
case SyntaxKind.GreaterThanGreaterThanEqualsToken:
|
||||
case SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken:
|
||||
case SyntaxKind.PlusEqualsToken:
|
||||
case SyntaxKind.MinusEqualsToken:
|
||||
case SyntaxKind.AsteriskEqualsToken:
|
||||
case SyntaxKind.SlashEqualsToken:
|
||||
case SyntaxKind.PercentEqualsToken:
|
||||
case SyntaxKind.EqualsToken:
|
||||
case SyntaxKind.CommaToken:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -136,10 +136,9 @@ var definitions:ITypeDefinition[] = [
|
||||
name: 'HeritageClauseSyntax',
|
||||
baseType: 'ISyntaxNode',
|
||||
children: [
|
||||
<any>{ name: 'extendsOrImplementsKeyword', isToken: true, tokenKinds: ['ExtendsKeyword', 'ImplementsKeyword'] },
|
||||
<any>{ name: 'extendsOrImplementsKeyword', isToken: true },
|
||||
<any>{ name: 'typeNames', isSeparatedList: true, requiresAtLeastOneItem: true, elementType: 'INameSyntax' }
|
||||
],
|
||||
syntaxKinds: ["ExtendsHeritageClause", "ImplementsHeritageClause"],
|
||||
isTypeScriptSpecific: true
|
||||
},
|
||||
<any>{
|
||||
@ -210,10 +209,9 @@ var definitions:ITypeDefinition[] = [
|
||||
baseType: 'ISyntaxNode',
|
||||
interfaces: ['IUnaryExpressionSyntax'],
|
||||
children: [
|
||||
<any>{ name: 'operatorToken', isToken: true, tokenKinds: ['PlusPlusToken', 'MinusMinusToken', 'PlusToken', 'MinusToken', 'TildeToken', 'ExclamationToken'] },
|
||||
<any>{ name: 'operatorToken', isToken: true },
|
||||
<any>{ name: 'operand', type: 'IUnaryExpressionSyntax' }
|
||||
],
|
||||
syntaxKinds: ["PreIncrementExpression", "PreDecrementExpression", "PlusExpression", "NegateExpression", "BitwiseNotExpression", "LogicalNotExpression"],
|
||||
},
|
||||
<any>{
|
||||
name: 'ArrayLiteralExpressionSyntax',
|
||||
@ -435,9 +433,8 @@ var definitions:ITypeDefinition[] = [
|
||||
interfaces: ['IPostfixExpressionSyntax'],
|
||||
children: [
|
||||
<any>{ name: 'operand', type: 'ILeftHandSideExpressionSyntax' },
|
||||
<any>{ name: 'operatorToken', isToken: true, tokenKinds:['PlusPlusToken', 'MinusMinusToken'] }
|
||||
<any>{ name: 'operatorToken', isToken: true }
|
||||
],
|
||||
syntaxKinds: ["PostIncrementExpression", "PostDecrementExpression"],
|
||||
},
|
||||
<any>{
|
||||
name: 'ElementAccessExpressionSyntax',
|
||||
@ -475,27 +472,9 @@ var definitions:ITypeDefinition[] = [
|
||||
interfaces: ['IExpressionSyntax'],
|
||||
children: [
|
||||
<any>{ name: 'left', type: 'IExpressionSyntax' },
|
||||
<any>{ name: 'operatorToken', isToken: true,
|
||||
tokenKinds:['AsteriskToken', 'SlashToken', 'PercentToken', 'PlusToken', 'MinusToken', 'LessThanLessThanToken',
|
||||
'GreaterThanGreaterThanToken', 'GreaterThanGreaterThanGreaterThanToken', 'LessThanToken',
|
||||
'GreaterThanToken', 'LessThanEqualsToken', 'GreaterThanEqualsToken', 'InstanceOfKeyword',
|
||||
'InKeyword', 'EqualsEqualsToken', 'ExclamationEqualsToken', 'EqualsEqualsEqualsToken',
|
||||
'ExclamationEqualsEqualsToken', 'AmpersandToken', 'CaretToken', 'BarToken', 'AmpersandAmpersandToken',
|
||||
'BarBarToken', 'BarEqualsToken', 'AmpersandEqualsToken', 'CaretEqualsToken', 'LessThanLessThanEqualsToken',
|
||||
'GreaterThanGreaterThanEqualsToken', 'GreaterThanGreaterThanGreaterThanEqualsToken', 'PlusEqualsToken',
|
||||
'MinusEqualsToken', 'AsteriskEqualsToken', 'SlashEqualsToken', 'PercentEqualsToken', 'EqualsToken',
|
||||
'CommaToken'] },
|
||||
<any>{ name: 'operatorToken', isToken: true },
|
||||
<any>{ name: 'right', type: 'IExpressionSyntax' }
|
||||
],
|
||||
syntaxKinds: ["MultiplyExpression", "DivideExpression", "ModuloExpression", "AddExpression", "SubtractExpression", "LeftShiftExpression",
|
||||
"SignedRightShiftExpression", "UnsignedRightShiftExpression", "LessThanExpression",
|
||||
"GreaterThanExpression", "LessThanOrEqualExpression", "GreaterThanOrEqualExpression", "InstanceOfExpression",
|
||||
"InExpression", "EqualsWithTypeConversionExpression", "NotEqualsWithTypeConversionExpression", "EqualsExpression",
|
||||
"NotEqualsExpression", "BitwiseAndExpression", "BitwiseExclusiveOrExpression", "BitwiseOrExpression", "LogicalAndExpression",
|
||||
"LogicalOrExpression", "OrAssignmentExpression", "AndAssignmentExpression", "ExclusiveOrAssignmentExpression", "LeftShiftAssignmentExpression",
|
||||
"SignedRightShiftAssignmentExpression", "UnsignedRightShiftAssignmentExpression", "AddAssignmentExpression",
|
||||
"SubtractAssignmentExpression", "MultiplyAssignmentExpression", "DivideAssignmentExpression", "ModuloAssignmentExpression", "AssignmentExpression",
|
||||
"CommaExpression"]
|
||||
},
|
||||
<any>{
|
||||
name: 'ConditionalExpressionSyntax',
|
||||
@ -1994,20 +1973,6 @@ function generateNode(definition: ITypeDefinition, abstract: boolean): string {
|
||||
}
|
||||
|
||||
result += " }\r\n";
|
||||
|
||||
if (definition.name === "BinaryExpressionSyntax") {
|
||||
result += " public kind(): SyntaxKind { return SyntaxFacts.getBinaryExpressionFromOperatorToken(this.operatorToken.kind()); }\r\n";
|
||||
}
|
||||
else if (definition.name === "PrefixUnaryExpressionSyntax") {
|
||||
result += " public kind(): SyntaxKind { return SyntaxFacts.getPrefixUnaryExpressionFromOperatorToken(this.operatorToken.kind()); }\r\n";
|
||||
}
|
||||
else if (definition.name === "PostfixUnaryExpressionSyntax") {
|
||||
result += " public kind(): SyntaxKind { return SyntaxFacts.getPostfixUnaryExpressionFromOperatorToken(this.operatorToken.kind()); }\r\n";
|
||||
}
|
||||
else if (definition.name === "HeritageClauseSyntax") {
|
||||
result += " public kind(): SyntaxKind { return this.extendsOrImplementsKeyword.kind() === SyntaxKind.ExtendsKeyword ? SyntaxKind.ExtendsHeritageClause : SyntaxKind.ImplementsHeritageClause; }\r\n";
|
||||
}
|
||||
|
||||
result += " }";
|
||||
return result;
|
||||
}
|
||||
@ -2312,19 +2277,6 @@ function generateWalker(): string {
|
||||
" public visitToken(token: ISyntaxToken): void {\r\n" +
|
||||
" }\r\n" +
|
||||
"\r\n" +
|
||||
" public visitNode(node: ISyntaxNode): void {\r\n" +
|
||||
" visitNodeOrToken(this, node);\r\n" +
|
||||
" }\r\n" +
|
||||
"\r\n" +
|
||||
" public visitNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void {\r\n" +
|
||||
" if (isToken(nodeOrToken)) { \r\n" +
|
||||
" this.visitToken(<ISyntaxToken>nodeOrToken);\r\n" +
|
||||
" }\r\n" +
|
||||
" else {\r\n" +
|
||||
" this.visitNode(<ISyntaxNode>nodeOrToken);\r\n" +
|
||||
" }\r\n" +
|
||||
" }\r\n" +
|
||||
"\r\n" +
|
||||
" private visitOptionalToken(token: ISyntaxToken): void {\r\n" +
|
||||
" if (token === undefined) {\r\n" +
|
||||
" return;\r\n" +
|
||||
@ -2333,32 +2285,16 @@ function generateWalker(): string {
|
||||
" this.visitToken(token);\r\n" +
|
||||
" }\r\n" +
|
||||
"\r\n" +
|
||||
" public visitOptionalNode(node: ISyntaxNode): void {\r\n" +
|
||||
" if (node === undefined) {\r\n" +
|
||||
" return;\r\n" +
|
||||
" }\r\n" +
|
||||
"\r\n" +
|
||||
" this.visitNode(node);\r\n" +
|
||||
" }\r\n" +
|
||||
"\r\n" +
|
||||
" public visitOptionalNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void {\r\n" +
|
||||
" if (nodeOrToken === undefined) {\r\n" +
|
||||
" return;\r\n" +
|
||||
" }\r\n" +
|
||||
"\r\n" +
|
||||
" this.visitNodeOrToken(nodeOrToken);\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" +
|
||||
" this.visitNodeOrToken(list[i]);\r\n" +
|
||||
" visitNodeOrToken(this, list[i]);\r\n" +
|
||||
" }\r\n" +
|
||||
" }\r\n" +
|
||||
"\r\n" +
|
||||
" public visitSeparatedList(list: ISyntaxNodeOrToken[]): void {\r\n" +
|
||||
" for (var i = 0, n = childCount(list); i < n; i++) {\r\n" +
|
||||
" var item = childAt(list, i);\r\n" +
|
||||
" this.visitNodeOrToken(item);\r\n" +
|
||||
" visitNodeOrToken(this, item);\r\n" +
|
||||
" }\r\n" +
|
||||
" }\r\n";
|
||||
|
||||
@ -2386,20 +2322,10 @@ function generateWalker(): string {
|
||||
result += " this.visitSeparatedList(node." + child.name + ");\r\n";
|
||||
}
|
||||
else if (isNodeOrToken(child)) {
|
||||
if (child.isOptional) {
|
||||
result += " this.visitOptionalNodeOrToken(node." + child.name + ");\r\n";
|
||||
}
|
||||
else {
|
||||
result += " this.visitNodeOrToken(node." + child.name + ");\r\n";
|
||||
}
|
||||
result += " visitNodeOrToken(this, node." + child.name + ");\r\n";
|
||||
}
|
||||
else if (child.type !== "SyntaxKind") {
|
||||
if (child.isOptional) {
|
||||
result += " this.visitOptionalNode(node." + child.name + ");\r\n";
|
||||
}
|
||||
else {
|
||||
result += " this.visitNode(node." + child.name + ");\r\n";
|
||||
}
|
||||
result += " visitNodeOrToken(this, node." + child.name + ");\r\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -209,54 +209,13 @@ module TypeScript {
|
||||
WithStatement,
|
||||
|
||||
// Expressions
|
||||
PlusExpression,
|
||||
NegateExpression,
|
||||
BitwiseNotExpression,
|
||||
LogicalNotExpression,
|
||||
PreIncrementExpression,
|
||||
PreDecrementExpression,
|
||||
PrefixUnaryExpression,
|
||||
DeleteExpression,
|
||||
TypeOfExpression,
|
||||
VoidExpression,
|
||||
CommaExpression,
|
||||
AssignmentExpression,
|
||||
AddAssignmentExpression,
|
||||
SubtractAssignmentExpression,
|
||||
MultiplyAssignmentExpression,
|
||||
DivideAssignmentExpression,
|
||||
ModuloAssignmentExpression,
|
||||
AndAssignmentExpression,
|
||||
ExclusiveOrAssignmentExpression,
|
||||
OrAssignmentExpression,
|
||||
LeftShiftAssignmentExpression,
|
||||
SignedRightShiftAssignmentExpression,
|
||||
UnsignedRightShiftAssignmentExpression,
|
||||
ConditionalExpression,
|
||||
LogicalOrExpression,
|
||||
LogicalAndExpression,
|
||||
BitwiseOrExpression,
|
||||
BitwiseExclusiveOrExpression,
|
||||
BitwiseAndExpression,
|
||||
EqualsWithTypeConversionExpression,
|
||||
NotEqualsWithTypeConversionExpression,
|
||||
EqualsExpression,
|
||||
NotEqualsExpression,
|
||||
LessThanExpression,
|
||||
GreaterThanExpression,
|
||||
LessThanOrEqualExpression,
|
||||
GreaterThanOrEqualExpression,
|
||||
InstanceOfExpression,
|
||||
InExpression,
|
||||
LeftShiftExpression,
|
||||
SignedRightShiftExpression,
|
||||
UnsignedRightShiftExpression,
|
||||
MultiplyExpression,
|
||||
DivideExpression,
|
||||
ModuloExpression,
|
||||
AddExpression,
|
||||
SubtractExpression,
|
||||
PostIncrementExpression,
|
||||
PostDecrementExpression,
|
||||
BinaryExpression,
|
||||
PostfixUnaryExpression,
|
||||
MemberAccessExpression,
|
||||
InvocationExpression,
|
||||
ArrayLiteralExpression,
|
||||
@ -281,8 +240,7 @@ module TypeScript {
|
||||
TypeParameterList,
|
||||
|
||||
// Clauses
|
||||
ExtendsHeritageClause,
|
||||
ImplementsHeritageClause,
|
||||
HeritageClause,
|
||||
EqualsValueClause,
|
||||
CaseSwitchClause,
|
||||
DefaultSwitchClause,
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1494,9 +1494,9 @@ module TypeScript {
|
||||
}
|
||||
|
||||
private isPreIncrementOrDecrementExpression(node: PrefixUnaryExpressionSyntax) {
|
||||
switch (node.kind()) {
|
||||
case SyntaxKind.PreDecrementExpression:
|
||||
case SyntaxKind.PreIncrementExpression:
|
||||
switch (node.operatorToken.kind()) {
|
||||
case SyntaxKind.MinusMinusToken:
|
||||
case SyntaxKind.PlusPlusToken:
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -72,54 +72,13 @@ module TypeScript {
|
||||
case SyntaxKind.TrueKeyword:
|
||||
case SyntaxKind.SuperKeyword:
|
||||
|
||||
case SyntaxKind.PlusExpression:
|
||||
case SyntaxKind.NegateExpression:
|
||||
case SyntaxKind.BitwiseNotExpression:
|
||||
case SyntaxKind.LogicalNotExpression:
|
||||
case SyntaxKind.PreIncrementExpression:
|
||||
case SyntaxKind.PreDecrementExpression:
|
||||
case SyntaxKind.PrefixUnaryExpression:
|
||||
case SyntaxKind.PostfixUnaryExpression:
|
||||
case SyntaxKind.BinaryExpression:
|
||||
case SyntaxKind.DeleteExpression:
|
||||
case SyntaxKind.TypeOfExpression:
|
||||
case SyntaxKind.VoidExpression:
|
||||
case SyntaxKind.CommaExpression:
|
||||
case SyntaxKind.AssignmentExpression:
|
||||
case SyntaxKind.AddAssignmentExpression:
|
||||
case SyntaxKind.SubtractAssignmentExpression:
|
||||
case SyntaxKind.MultiplyAssignmentExpression:
|
||||
case SyntaxKind.DivideAssignmentExpression:
|
||||
case SyntaxKind.ModuloAssignmentExpression:
|
||||
case SyntaxKind.AndAssignmentExpression:
|
||||
case SyntaxKind.ExclusiveOrAssignmentExpression:
|
||||
case SyntaxKind.OrAssignmentExpression:
|
||||
case SyntaxKind.LeftShiftAssignmentExpression:
|
||||
case SyntaxKind.SignedRightShiftAssignmentExpression:
|
||||
case SyntaxKind.UnsignedRightShiftAssignmentExpression:
|
||||
case SyntaxKind.ConditionalExpression:
|
||||
case SyntaxKind.LogicalOrExpression:
|
||||
case SyntaxKind.LogicalAndExpression:
|
||||
case SyntaxKind.BitwiseOrExpression:
|
||||
case SyntaxKind.BitwiseExclusiveOrExpression:
|
||||
case SyntaxKind.BitwiseAndExpression:
|
||||
case SyntaxKind.EqualsWithTypeConversionExpression:
|
||||
case SyntaxKind.NotEqualsWithTypeConversionExpression:
|
||||
case SyntaxKind.EqualsExpression:
|
||||
case SyntaxKind.NotEqualsExpression:
|
||||
case SyntaxKind.LessThanExpression:
|
||||
case SyntaxKind.GreaterThanExpression:
|
||||
case SyntaxKind.LessThanOrEqualExpression:
|
||||
case SyntaxKind.GreaterThanOrEqualExpression:
|
||||
case SyntaxKind.InstanceOfExpression:
|
||||
case SyntaxKind.InExpression:
|
||||
case SyntaxKind.LeftShiftExpression:
|
||||
case SyntaxKind.SignedRightShiftExpression:
|
||||
case SyntaxKind.UnsignedRightShiftExpression:
|
||||
case SyntaxKind.MultiplyExpression:
|
||||
case SyntaxKind.DivideExpression:
|
||||
case SyntaxKind.ModuloExpression:
|
||||
case SyntaxKind.AddExpression:
|
||||
case SyntaxKind.SubtractExpression:
|
||||
case SyntaxKind.PostIncrementExpression:
|
||||
case SyntaxKind.PostDecrementExpression:
|
||||
case SyntaxKind.MemberAccessExpression:
|
||||
case SyntaxKind.InvocationExpression:
|
||||
case SyntaxKind.ArrayLiteralExpression:
|
||||
|
||||
@ -52,16 +52,13 @@ module TypeScript {
|
||||
case SyntaxKind.DoStatement: return visitor.visitDoStatement(<DoStatementSyntax>element);
|
||||
case SyntaxKind.DebuggerStatement: return visitor.visitDebuggerStatement(<DebuggerStatementSyntax>element);
|
||||
case SyntaxKind.WithStatement: return visitor.visitWithStatement(<WithStatementSyntax>element);
|
||||
case SyntaxKind.PreIncrementExpression: case SyntaxKind.PreDecrementExpression: case SyntaxKind.PlusExpression: case SyntaxKind.NegateExpression: case SyntaxKind.BitwiseNotExpression: case SyntaxKind.LogicalNotExpression:
|
||||
return visitor.visitPrefixUnaryExpression(<PrefixUnaryExpressionSyntax>element);
|
||||
case SyntaxKind.PrefixUnaryExpression: return visitor.visitPrefixUnaryExpression(<PrefixUnaryExpressionSyntax>element);
|
||||
case SyntaxKind.DeleteExpression: return visitor.visitDeleteExpression(<DeleteExpressionSyntax>element);
|
||||
case SyntaxKind.TypeOfExpression: return visitor.visitTypeOfExpression(<TypeOfExpressionSyntax>element);
|
||||
case SyntaxKind.VoidExpression: return visitor.visitVoidExpression(<VoidExpressionSyntax>element);
|
||||
case SyntaxKind.ConditionalExpression: return visitor.visitConditionalExpression(<ConditionalExpressionSyntax>element);
|
||||
case SyntaxKind.MultiplyExpression: case SyntaxKind.DivideExpression: case SyntaxKind.ModuloExpression: case SyntaxKind.AddExpression: case SyntaxKind.SubtractExpression: case SyntaxKind.LeftShiftExpression: case SyntaxKind.SignedRightShiftExpression: case SyntaxKind.UnsignedRightShiftExpression: case SyntaxKind.LessThanExpression: case SyntaxKind.GreaterThanExpression: case SyntaxKind.LessThanOrEqualExpression: case SyntaxKind.GreaterThanOrEqualExpression: case SyntaxKind.InstanceOfExpression: case SyntaxKind.InExpression: case SyntaxKind.EqualsWithTypeConversionExpression: case SyntaxKind.NotEqualsWithTypeConversionExpression: case SyntaxKind.EqualsExpression: case SyntaxKind.NotEqualsExpression: case SyntaxKind.BitwiseAndExpression: case SyntaxKind.BitwiseExclusiveOrExpression: case SyntaxKind.BitwiseOrExpression: case SyntaxKind.LogicalAndExpression: case SyntaxKind.LogicalOrExpression: case SyntaxKind.OrAssignmentExpression: case SyntaxKind.AndAssignmentExpression: case SyntaxKind.ExclusiveOrAssignmentExpression: case SyntaxKind.LeftShiftAssignmentExpression: case SyntaxKind.SignedRightShiftAssignmentExpression: case SyntaxKind.UnsignedRightShiftAssignmentExpression: case SyntaxKind.AddAssignmentExpression: case SyntaxKind.SubtractAssignmentExpression: case SyntaxKind.MultiplyAssignmentExpression: case SyntaxKind.DivideAssignmentExpression: case SyntaxKind.ModuloAssignmentExpression: case SyntaxKind.AssignmentExpression: case SyntaxKind.CommaExpression:
|
||||
return visitor.visitBinaryExpression(<BinaryExpressionSyntax>element);
|
||||
case SyntaxKind.PostIncrementExpression: case SyntaxKind.PostDecrementExpression:
|
||||
return visitor.visitPostfixUnaryExpression(<PostfixUnaryExpressionSyntax>element);
|
||||
case SyntaxKind.BinaryExpression: return visitor.visitBinaryExpression(<BinaryExpressionSyntax>element);
|
||||
case SyntaxKind.PostfixUnaryExpression: return visitor.visitPostfixUnaryExpression(<PostfixUnaryExpressionSyntax>element);
|
||||
case SyntaxKind.MemberAccessExpression: return visitor.visitMemberAccessExpression(<MemberAccessExpressionSyntax>element);
|
||||
case SyntaxKind.InvocationExpression: return visitor.visitInvocationExpression(<InvocationExpressionSyntax>element);
|
||||
case SyntaxKind.ArrayLiteralExpression: return visitor.visitArrayLiteralExpression(<ArrayLiteralExpressionSyntax>element);
|
||||
@ -80,8 +77,7 @@ module TypeScript {
|
||||
case SyntaxKind.ParameterList: return visitor.visitParameterList(<ParameterListSyntax>element);
|
||||
case SyntaxKind.TypeArgumentList: return visitor.visitTypeArgumentList(<TypeArgumentListSyntax>element);
|
||||
case SyntaxKind.TypeParameterList: return visitor.visitTypeParameterList(<TypeParameterListSyntax>element);
|
||||
case SyntaxKind.ExtendsHeritageClause: case SyntaxKind.ImplementsHeritageClause:
|
||||
return visitor.visitHeritageClause(<HeritageClauseSyntax>element);
|
||||
case SyntaxKind.HeritageClause: return visitor.visitHeritageClause(<HeritageClauseSyntax>element);
|
||||
case SyntaxKind.EqualsValueClause: return visitor.visitEqualsValueClause(<EqualsValueClauseSyntax>element);
|
||||
case SyntaxKind.CaseSwitchClause: return visitor.visitCaseSwitchClause(<CaseSwitchClauseSyntax>element);
|
||||
case SyntaxKind.DefaultSwitchClause: return visitor.visitDefaultSwitchClause(<DefaultSwitchClauseSyntax>element);
|
||||
|
||||
@ -5,19 +5,6 @@ module TypeScript {
|
||||
public visitToken(token: ISyntaxToken): void {
|
||||
}
|
||||
|
||||
public visitNode(node: ISyntaxNode): void {
|
||||
visitNodeOrToken(this, node);
|
||||
}
|
||||
|
||||
public visitNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void {
|
||||
if (isToken(nodeOrToken)) {
|
||||
this.visitToken(<ISyntaxToken>nodeOrToken);
|
||||
}
|
||||
else {
|
||||
this.visitNode(<ISyntaxNode>nodeOrToken);
|
||||
}
|
||||
}
|
||||
|
||||
private visitOptionalToken(token: ISyntaxToken): void {
|
||||
if (token === undefined) {
|
||||
return;
|
||||
@ -26,32 +13,16 @@ module TypeScript {
|
||||
this.visitToken(token);
|
||||
}
|
||||
|
||||
public visitOptionalNode(node: ISyntaxNode): void {
|
||||
if (node === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.visitNode(node);
|
||||
}
|
||||
|
||||
public visitOptionalNodeOrToken(nodeOrToken: ISyntaxNodeOrToken): void {
|
||||
if (nodeOrToken === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.visitNodeOrToken(nodeOrToken);
|
||||
}
|
||||
|
||||
public visitList(list: ISyntaxNodeOrToken[]): void {
|
||||
for (var i = 0, n = list.length; i < n; i++) {
|
||||
this.visitNodeOrToken(list[i]);
|
||||
visitNodeOrToken(this, list[i]);
|
||||
}
|
||||
}
|
||||
|
||||
public visitSeparatedList(list: ISyntaxNodeOrToken[]): void {
|
||||
for (var i = 0, n = childCount(list); i < n; i++) {
|
||||
var item = childAt(list, i);
|
||||
this.visitNodeOrToken(item);
|
||||
visitNodeOrToken(this, item);
|
||||
}
|
||||
}
|
||||
|
||||
@ -61,7 +32,7 @@ module TypeScript {
|
||||
}
|
||||
|
||||
public visitQualifiedName(node: QualifiedNameSyntax): void {
|
||||
this.visitNodeOrToken(node.left);
|
||||
visitNodeOrToken(this, node.left);
|
||||
this.visitToken(node.dotToken);
|
||||
this.visitToken(node.right);
|
||||
}
|
||||
@ -73,34 +44,34 @@ module TypeScript {
|
||||
}
|
||||
|
||||
public visitFunctionType(node: FunctionTypeSyntax): void {
|
||||
this.visitOptionalNode(node.typeParameterList);
|
||||
this.visitNode(node.parameterList);
|
||||
visitNodeOrToken(this, node.typeParameterList);
|
||||
visitNodeOrToken(this, node.parameterList);
|
||||
this.visitToken(node.equalsGreaterThanToken);
|
||||
this.visitNodeOrToken(node.type);
|
||||
visitNodeOrToken(this, node.type);
|
||||
}
|
||||
|
||||
public visitArrayType(node: ArrayTypeSyntax): void {
|
||||
this.visitNodeOrToken(node.type);
|
||||
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);
|
||||
this.visitNode(node.parameterList);
|
||||
visitNodeOrToken(this, node.typeParameterList);
|
||||
visitNodeOrToken(this, node.parameterList);
|
||||
this.visitToken(node.equalsGreaterThanToken);
|
||||
this.visitNodeOrToken(node.type);
|
||||
visitNodeOrToken(this, node.type);
|
||||
}
|
||||
|
||||
public visitGenericType(node: GenericTypeSyntax): void {
|
||||
this.visitNodeOrToken(node.name);
|
||||
this.visitNode(node.typeArgumentList);
|
||||
visitNodeOrToken(this, node.name);
|
||||
visitNodeOrToken(this, node.typeArgumentList);
|
||||
}
|
||||
|
||||
public visitTypeQuery(node: TypeQuerySyntax): void {
|
||||
this.visitToken(node.typeOfKeyword);
|
||||
this.visitNodeOrToken(node.name);
|
||||
visitNodeOrToken(this, node.name);
|
||||
}
|
||||
|
||||
public visitTupleType(node: TupleTypeSyntax): void {
|
||||
@ -110,14 +81,14 @@ module TypeScript {
|
||||
}
|
||||
|
||||
public visitUnionType(node: UnionTypeSyntax): void {
|
||||
this.visitNodeOrToken(node.left);
|
||||
visitNodeOrToken(this, node.left);
|
||||
this.visitToken(node.barToken);
|
||||
this.visitNodeOrToken(node.right);
|
||||
visitNodeOrToken(this, node.right);
|
||||
}
|
||||
|
||||
public visitParenthesizedType(node: ParenthesizedTypeSyntax): void {
|
||||
this.visitToken(node.openParenToken);
|
||||
this.visitNodeOrToken(node.type);
|
||||
visitNodeOrToken(this, node.type);
|
||||
this.visitToken(node.closeParenToken);
|
||||
}
|
||||
|
||||
@ -125,24 +96,24 @@ 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);
|
||||
this.visitNode(node.body);
|
||||
visitNodeOrToken(this, node.body);
|
||||
}
|
||||
|
||||
public visitFunctionDeclaration(node: FunctionDeclarationSyntax): void {
|
||||
this.visitList(node.modifiers);
|
||||
this.visitToken(node.functionKeyword);
|
||||
this.visitToken(node.identifier);
|
||||
this.visitNode(node.callSignature);
|
||||
this.visitOptionalNode(node.block);
|
||||
visitNodeOrToken(this, node.callSignature);
|
||||
visitNodeOrToken(this, node.block);
|
||||
this.visitOptionalToken(node.semicolonToken);
|
||||
}
|
||||
|
||||
public visitModuleDeclaration(node: ModuleDeclarationSyntax): void {
|
||||
this.visitList(node.modifiers);
|
||||
this.visitToken(node.moduleKeyword);
|
||||
this.visitOptionalNodeOrToken(node.name);
|
||||
visitNodeOrToken(this, node.name);
|
||||
this.visitOptionalToken(node.stringLiteral);
|
||||
this.visitToken(node.openBraceToken);
|
||||
this.visitList(node.moduleElements);
|
||||
@ -153,7 +124,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);
|
||||
@ -174,7 +145,7 @@ module TypeScript {
|
||||
this.visitToken(node.importKeyword);
|
||||
this.visitToken(node.identifier);
|
||||
this.visitToken(node.equalsToken);
|
||||
this.visitNodeOrToken(node.moduleReference);
|
||||
visitNodeOrToken(this, node.moduleReference);
|
||||
this.visitOptionalToken(node.semicolonToken);
|
||||
}
|
||||
|
||||
@ -188,28 +159,28 @@ module TypeScript {
|
||||
public visitMemberFunctionDeclaration(node: MemberFunctionDeclarationSyntax): void {
|
||||
this.visitList(node.modifiers);
|
||||
this.visitToken(node.propertyName);
|
||||
this.visitNode(node.callSignature);
|
||||
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);
|
||||
this.visitNode(node.variableDeclarator);
|
||||
visitNodeOrToken(this, node.variableDeclarator);
|
||||
this.visitOptionalToken(node.semicolonToken);
|
||||
}
|
||||
|
||||
public visitConstructorDeclaration(node: ConstructorDeclarationSyntax): void {
|
||||
this.visitList(node.modifiers);
|
||||
this.visitToken(node.constructorKeyword);
|
||||
this.visitNode(node.callSignature);
|
||||
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);
|
||||
this.visitNode(node.indexSignature);
|
||||
visitNodeOrToken(this, node.indexSignature);
|
||||
this.visitOptionalToken(node.semicolonToken);
|
||||
}
|
||||
|
||||
@ -217,46 +188,46 @@ module TypeScript {
|
||||
this.visitList(node.modifiers);
|
||||
this.visitToken(node.getKeyword);
|
||||
this.visitToken(node.propertyName);
|
||||
this.visitNode(node.callSignature);
|
||||
this.visitNode(node.block);
|
||||
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);
|
||||
this.visitNode(node.callSignature);
|
||||
this.visitNode(node.block);
|
||||
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);
|
||||
this.visitNode(node.parameterList);
|
||||
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);
|
||||
this.visitNode(node.callSignature);
|
||||
visitNodeOrToken(this, node.callSignature);
|
||||
}
|
||||
|
||||
public visitIndexSignature(node: IndexSignatureSyntax): void {
|
||||
this.visitToken(node.openBracketToken);
|
||||
this.visitSeparatedList(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);
|
||||
this.visitNode(node.callSignature);
|
||||
visitNodeOrToken(this, node.callSignature);
|
||||
}
|
||||
|
||||
public visitBlock(node: BlockSyntax): void {
|
||||
@ -268,33 +239,33 @@ module TypeScript {
|
||||
public visitIfStatement(node: IfStatementSyntax): void {
|
||||
this.visitToken(node.ifKeyword);
|
||||
this.visitToken(node.openParenToken);
|
||||
this.visitNodeOrToken(node.condition);
|
||||
visitNodeOrToken(this, node.condition);
|
||||
this.visitToken(node.closeParenToken);
|
||||
this.visitNodeOrToken(node.statement);
|
||||
this.visitOptionalNode(node.elseClause);
|
||||
visitNodeOrToken(this, node.statement);
|
||||
visitNodeOrToken(this, node.elseClause);
|
||||
}
|
||||
|
||||
public visitVariableStatement(node: VariableStatementSyntax): void {
|
||||
this.visitList(node.modifiers);
|
||||
this.visitNode(node.variableDeclaration);
|
||||
visitNodeOrToken(this, node.variableDeclaration);
|
||||
this.visitOptionalToken(node.semicolonToken);
|
||||
}
|
||||
|
||||
public visitExpressionStatement(node: ExpressionStatementSyntax): void {
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
this.visitOptionalToken(node.semicolonToken);
|
||||
}
|
||||
|
||||
public visitReturnStatement(node: ReturnStatementSyntax): void {
|
||||
this.visitToken(node.returnKeyword);
|
||||
this.visitOptionalNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
this.visitOptionalToken(node.semicolonToken);
|
||||
}
|
||||
|
||||
public visitSwitchStatement(node: SwitchStatementSyntax): void {
|
||||
this.visitToken(node.switchKeyword);
|
||||
this.visitToken(node.openParenToken);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
this.visitToken(node.closeParenToken);
|
||||
this.visitToken(node.openBraceToken);
|
||||
this.visitList(node.switchClauses);
|
||||
@ -316,25 +287,25 @@ module TypeScript {
|
||||
public visitForStatement(node: ForStatementSyntax): void {
|
||||
this.visitToken(node.forKeyword);
|
||||
this.visitToken(node.openParenToken);
|
||||
this.visitOptionalNode(node.variableDeclaration);
|
||||
this.visitOptionalNodeOrToken(node.initializer);
|
||||
visitNodeOrToken(this, node.variableDeclaration);
|
||||
visitNodeOrToken(this, node.initializer);
|
||||
this.visitToken(node.firstSemicolonToken);
|
||||
this.visitOptionalNodeOrToken(node.condition);
|
||||
visitNodeOrToken(this, node.condition);
|
||||
this.visitToken(node.secondSemicolonToken);
|
||||
this.visitOptionalNodeOrToken(node.incrementor);
|
||||
visitNodeOrToken(this, node.incrementor);
|
||||
this.visitToken(node.closeParenToken);
|
||||
this.visitNodeOrToken(node.statement);
|
||||
visitNodeOrToken(this, node.statement);
|
||||
}
|
||||
|
||||
public visitForInStatement(node: ForInStatementSyntax): void {
|
||||
this.visitToken(node.forKeyword);
|
||||
this.visitToken(node.openParenToken);
|
||||
this.visitOptionalNode(node.variableDeclaration);
|
||||
this.visitOptionalNodeOrToken(node.left);
|
||||
visitNodeOrToken(this, node.variableDeclaration);
|
||||
visitNodeOrToken(this, node.left);
|
||||
this.visitToken(node.inKeyword);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
this.visitToken(node.closeParenToken);
|
||||
this.visitNodeOrToken(node.statement);
|
||||
visitNodeOrToken(this, node.statement);
|
||||
}
|
||||
|
||||
public visitEmptyStatement(node: EmptyStatementSyntax): void {
|
||||
@ -343,37 +314,37 @@ module TypeScript {
|
||||
|
||||
public visitThrowStatement(node: ThrowStatementSyntax): void {
|
||||
this.visitToken(node.throwKeyword);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
this.visitOptionalToken(node.semicolonToken);
|
||||
}
|
||||
|
||||
public visitWhileStatement(node: WhileStatementSyntax): void {
|
||||
this.visitToken(node.whileKeyword);
|
||||
this.visitToken(node.openParenToken);
|
||||
this.visitNodeOrToken(node.condition);
|
||||
visitNodeOrToken(this, node.condition);
|
||||
this.visitToken(node.closeParenToken);
|
||||
this.visitNodeOrToken(node.statement);
|
||||
visitNodeOrToken(this, node.statement);
|
||||
}
|
||||
|
||||
public visitTryStatement(node: TryStatementSyntax): void {
|
||||
this.visitToken(node.tryKeyword);
|
||||
this.visitNode(node.block);
|
||||
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);
|
||||
this.visitNodeOrToken(node.statement);
|
||||
visitNodeOrToken(this, node.statement);
|
||||
}
|
||||
|
||||
public visitDoStatement(node: DoStatementSyntax): void {
|
||||
this.visitToken(node.doKeyword);
|
||||
this.visitNodeOrToken(node.statement);
|
||||
visitNodeOrToken(this, node.statement);
|
||||
this.visitToken(node.whileKeyword);
|
||||
this.visitToken(node.openParenToken);
|
||||
this.visitNodeOrToken(node.condition);
|
||||
visitNodeOrToken(this, node.condition);
|
||||
this.visitToken(node.closeParenToken);
|
||||
this.visitOptionalToken(node.semicolonToken);
|
||||
}
|
||||
@ -386,59 +357,59 @@ module TypeScript {
|
||||
public visitWithStatement(node: WithStatementSyntax): void {
|
||||
this.visitToken(node.withKeyword);
|
||||
this.visitToken(node.openParenToken);
|
||||
this.visitNodeOrToken(node.condition);
|
||||
visitNodeOrToken(this, node.condition);
|
||||
this.visitToken(node.closeParenToken);
|
||||
this.visitNodeOrToken(node.statement);
|
||||
visitNodeOrToken(this, node.statement);
|
||||
}
|
||||
|
||||
public visitPrefixUnaryExpression(node: PrefixUnaryExpressionSyntax): void {
|
||||
this.visitToken(node.operatorToken);
|
||||
this.visitNodeOrToken(node.operand);
|
||||
visitNodeOrToken(this, node.operand);
|
||||
}
|
||||
|
||||
public visitDeleteExpression(node: DeleteExpressionSyntax): void {
|
||||
this.visitToken(node.deleteKeyword);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
}
|
||||
|
||||
public visitTypeOfExpression(node: TypeOfExpressionSyntax): void {
|
||||
this.visitToken(node.typeOfKeyword);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
}
|
||||
|
||||
public visitVoidExpression(node: VoidExpressionSyntax): void {
|
||||
this.visitToken(node.voidKeyword);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
}
|
||||
|
||||
public visitConditionalExpression(node: ConditionalExpressionSyntax): void {
|
||||
this.visitNodeOrToken(node.condition);
|
||||
visitNodeOrToken(this, node.condition);
|
||||
this.visitToken(node.questionToken);
|
||||
this.visitNodeOrToken(node.whenTrue);
|
||||
visitNodeOrToken(this, node.whenTrue);
|
||||
this.visitToken(node.colonToken);
|
||||
this.visitNodeOrToken(node.whenFalse);
|
||||
visitNodeOrToken(this, node.whenFalse);
|
||||
}
|
||||
|
||||
public visitBinaryExpression(node: BinaryExpressionSyntax): void {
|
||||
this.visitNodeOrToken(node.left);
|
||||
visitNodeOrToken(this, node.left);
|
||||
this.visitToken(node.operatorToken);
|
||||
this.visitNodeOrToken(node.right);
|
||||
visitNodeOrToken(this, node.right);
|
||||
}
|
||||
|
||||
public visitPostfixUnaryExpression(node: PostfixUnaryExpressionSyntax): void {
|
||||
this.visitNodeOrToken(node.operand);
|
||||
visitNodeOrToken(this, node.operand);
|
||||
this.visitToken(node.operatorToken);
|
||||
}
|
||||
|
||||
public visitMemberAccessExpression(node: MemberAccessExpressionSyntax): void {
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
this.visitToken(node.dotToken);
|
||||
this.visitToken(node.name);
|
||||
}
|
||||
|
||||
public visitInvocationExpression(node: InvocationExpressionSyntax): void {
|
||||
this.visitNodeOrToken(node.expression);
|
||||
this.visitNode(node.argumentList);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
visitNodeOrToken(this, node.argumentList);
|
||||
}
|
||||
|
||||
public visitArrayLiteralExpression(node: ArrayLiteralExpressionSyntax): void {
|
||||
@ -455,49 +426,49 @@ module TypeScript {
|
||||
|
||||
public visitObjectCreationExpression(node: ObjectCreationExpressionSyntax): void {
|
||||
this.visitToken(node.newKeyword);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
this.visitOptionalNode(node.argumentList);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
visitNodeOrToken(this, node.argumentList);
|
||||
}
|
||||
|
||||
public visitParenthesizedExpression(node: ParenthesizedExpressionSyntax): void {
|
||||
this.visitToken(node.openParenToken);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
this.visitToken(node.closeParenToken);
|
||||
}
|
||||
|
||||
public visitParenthesizedArrowFunctionExpression(node: ParenthesizedArrowFunctionExpressionSyntax): void {
|
||||
this.visitNode(node.callSignature);
|
||||
visitNodeOrToken(this, node.callSignature);
|
||||
this.visitToken(node.equalsGreaterThanToken);
|
||||
this.visitOptionalNode(node.block);
|
||||
this.visitOptionalNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.block);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
}
|
||||
|
||||
public visitSimpleArrowFunctionExpression(node: SimpleArrowFunctionExpressionSyntax): void {
|
||||
this.visitNode(node.parameter);
|
||||
visitNodeOrToken(this, node.parameter);
|
||||
this.visitToken(node.equalsGreaterThanToken);
|
||||
this.visitOptionalNode(node.block);
|
||||
this.visitOptionalNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.block);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
}
|
||||
|
||||
public visitCastExpression(node: CastExpressionSyntax): void {
|
||||
this.visitToken(node.lessThanToken);
|
||||
this.visitNodeOrToken(node.type);
|
||||
visitNodeOrToken(this, node.type);
|
||||
this.visitToken(node.greaterThanToken);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
}
|
||||
|
||||
public visitElementAccessExpression(node: ElementAccessExpressionSyntax): void {
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
this.visitToken(node.openBracketToken);
|
||||
this.visitNodeOrToken(node.argumentExpression);
|
||||
visitNodeOrToken(this, node.argumentExpression);
|
||||
this.visitToken(node.closeBracketToken);
|
||||
}
|
||||
|
||||
public visitFunctionExpression(node: FunctionExpressionSyntax): void {
|
||||
this.visitToken(node.functionKeyword);
|
||||
this.visitOptionalToken(node.identifier);
|
||||
this.visitNode(node.callSignature);
|
||||
this.visitNode(node.block);
|
||||
visitNodeOrToken(this, node.callSignature);
|
||||
visitNodeOrToken(this, node.block);
|
||||
}
|
||||
|
||||
public visitOmittedExpression(node: OmittedExpressionSyntax): void {
|
||||
@ -510,12 +481,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.visitSeparatedList(node.arguments);
|
||||
this.visitToken(node.closeParenToken);
|
||||
@ -546,12 +517,12 @@ module TypeScript {
|
||||
|
||||
public visitEqualsValueClause(node: EqualsValueClauseSyntax): void {
|
||||
this.visitToken(node.equalsToken);
|
||||
this.visitNodeOrToken(node.value);
|
||||
visitNodeOrToken(this, node.value);
|
||||
}
|
||||
|
||||
public visitCaseSwitchClause(node: CaseSwitchClauseSyntax): void {
|
||||
this.visitToken(node.caseKeyword);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
this.visitToken(node.colonToken);
|
||||
this.visitList(node.statements);
|
||||
}
|
||||
@ -564,43 +535,43 @@ module TypeScript {
|
||||
|
||||
public visitElseClause(node: ElseClauseSyntax): void {
|
||||
this.visitToken(node.elseKeyword);
|
||||
this.visitNodeOrToken(node.statement);
|
||||
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);
|
||||
this.visitNode(node.block);
|
||||
visitNodeOrToken(this, node.block);
|
||||
}
|
||||
|
||||
public visitFinallyClause(node: FinallyClauseSyntax): void {
|
||||
this.visitToken(node.finallyKeyword);
|
||||
this.visitNode(node.block);
|
||||
visitNodeOrToken(this, node.block);
|
||||
}
|
||||
|
||||
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);
|
||||
this.visitNodeOrToken(node.typeOrExpression);
|
||||
visitNodeOrToken(this, node.typeOrExpression);
|
||||
}
|
||||
|
||||
public visitSimplePropertyAssignment(node: SimplePropertyAssignmentSyntax): void {
|
||||
this.visitToken(node.propertyName);
|
||||
this.visitToken(node.colonToken);
|
||||
this.visitNodeOrToken(node.expression);
|
||||
visitNodeOrToken(this, node.expression);
|
||||
}
|
||||
|
||||
public visitFunctionPropertyAssignment(node: FunctionPropertyAssignmentSyntax): void {
|
||||
this.visitToken(node.propertyName);
|
||||
this.visitNode(node.callSignature);
|
||||
this.visitNode(node.block);
|
||||
visitNodeOrToken(this, node.callSignature);
|
||||
visitNodeOrToken(this, node.block);
|
||||
}
|
||||
|
||||
public visitParameter(node: ParameterSyntax): void {
|
||||
@ -608,18 +579,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);
|
||||
this.visitNodeOrToken(node.type);
|
||||
visitNodeOrToken(this, node.type);
|
||||
}
|
||||
|
||||
public visitExternalModuleReference(node: ExternalModuleReferenceSyntax): void {
|
||||
@ -630,7 +601,7 @@ module TypeScript {
|
||||
}
|
||||
|
||||
public visitModuleNameModuleReference(node: ModuleNameModuleReferenceSyntax): void {
|
||||
this.visitNodeOrToken(node.moduleName);
|
||||
visitNodeOrToken(this, node.moduleName);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user