@@ -349,14 +349,15 @@ namespace ts {
349349 decorators : ReadonlyArray < Decorator > | undefined ,
350350 modifiers : ReadonlyArray < Modifier > | undefined ,
351351 name : string | PropertyName ,
352- questionToken : QuestionToken | undefined ,
352+ questionOrExclamationToken : QuestionToken | ExclamationToken | undefined ,
353353 type : TypeNode | undefined ,
354354 initializer : Expression | undefined ) {
355355 const node = < PropertyDeclaration > createSynthesizedNode ( SyntaxKind . PropertyDeclaration ) ;
356356 node . decorators = asNodeArray ( decorators ) ;
357357 node . modifiers = asNodeArray ( modifiers ) ;
358358 node . name = asName ( name ) ;
359- node . questionToken = questionToken ;
359+ node . questionToken = questionOrExclamationToken !== undefined && questionOrExclamationToken . kind === SyntaxKind . QuestionToken ? questionOrExclamationToken : undefined ;
360+ node . exclamationToken = questionOrExclamationToken !== undefined && questionOrExclamationToken . kind === SyntaxKind . ExclamationToken ? questionOrExclamationToken : undefined ;
360361 node . type = type ;
361362 node . initializer = initializer ;
362363 return node ;
@@ -367,16 +368,17 @@ namespace ts {
367368 decorators : ReadonlyArray < Decorator > | undefined ,
368369 modifiers : ReadonlyArray < Modifier > | undefined ,
369370 name : string | PropertyName ,
370- questionToken : QuestionToken | undefined ,
371+ questionOrExclamationToken : QuestionToken | ExclamationToken | undefined ,
371372 type : TypeNode | undefined ,
372373 initializer : Expression | undefined ) {
373374 return node . decorators !== decorators
374375 || node . modifiers !== modifiers
375376 || node . name !== name
376- || node . questionToken !== questionToken
377+ || node . questionToken !== ( questionOrExclamationToken !== undefined && questionOrExclamationToken . kind === SyntaxKind . QuestionToken ? questionOrExclamationToken : undefined )
378+ || node . exclamationToken !== ( questionOrExclamationToken !== undefined && questionOrExclamationToken . kind === SyntaxKind . ExclamationToken ? questionOrExclamationToken : undefined )
377379 || node . type !== type
378380 || node . initializer !== initializer
379- ? updateNode ( createProperty ( decorators , modifiers , name , questionToken , type , initializer ) , node )
381+ ? updateNode ( createProperty ( decorators , modifiers , name , questionOrExclamationToken , type , initializer ) , node )
380382 : node ;
381383 }
382384
0 commit comments