visit question token

This commit is contained in:
Arthur Ozga
2017-06-26 12:33:29 -07:00
parent aeb5264b74
commit 45a77c0a2c
3 changed files with 17 additions and 1 deletions

View File

@@ -314,10 +314,11 @@ namespace ts {
return node;
}
export function updateProperty(node: PropertyDeclaration, decorators: Decorator[] | undefined, modifiers: Modifier[] | undefined, name: PropertyName, type: TypeNode | undefined, initializer: Expression | undefined) {
export function updateProperty(node: PropertyDeclaration, decorators: Decorator[] | undefined, modifiers: Modifier[] | undefined, name: string | PropertyName, questionToken: QuestionToken | undefined, type: TypeNode | undefined, initializer: Expression | undefined) {
return node.decorators !== decorators
|| node.modifiers !== modifiers
|| node.name !== name
|| node.questionToken !== questionToken
|| node.type !== type
|| node.initializer !== initializer
? updateNode(createProperty(decorators, modifiers, name, node.questionToken, type, initializer), node)
@@ -360,6 +361,7 @@ namespace ts {
|| node.modifiers !== modifiers
|| node.asteriskToken !== asteriskToken
|| node.name !== name
|| node.questionToken !== questionToken
|| node.typeParameters !== typeParameters
|| node.parameters !== parameters
|| node.type !== type

View File

@@ -270,6 +270,7 @@ namespace ts {
nodesVisitor((<PropertyDeclaration>node).decorators, visitor, isDecorator),
nodesVisitor((<PropertyDeclaration>node).modifiers, visitor, isModifier),
visitNode((<PropertyDeclaration>node).name, visitor, isPropertyName),
visitNode((<PropertyDeclaration>node).questionToken, tokenVisitor, isToken),
visitNode((<PropertyDeclaration>node).type, visitor, isTypeNode),
visitNode((<PropertyDeclaration>node).initializer, visitor, isExpression));

View File

@@ -0,0 +1,13 @@
/// <reference path='fourslash.ts' />
//// interface IPerson {
//// name: string;
//// birthday?: string;
//// }
////
//// class Person implements IPerson {[| |]}
verify.rangeAfterCodeFix(`
name: string;
birthday?: string;
`);