mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-14 19:16:17 -06:00
Merge pull request #16748 from aozgaa/implementOptionCrash
visit question token
This commit is contained in:
commit
ad291d924d
@ -314,13 +314,14 @@ 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)
|
||||
? updateNode(createProperty(decorators, modifiers, name, questionToken, type, initializer), node)
|
||||
: 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
|
||||
|
||||
@ -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));
|
||||
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
//// interface IPerson {
|
||||
//// name: string;
|
||||
//// birthday?: string;
|
||||
//// }
|
||||
////
|
||||
//// class Person implements IPerson {[| |]}
|
||||
|
||||
verify.rangeAfterCodeFix(`
|
||||
name: string;
|
||||
birthday?: string;
|
||||
`);
|
||||
Loading…
x
Reference in New Issue
Block a user