@@ -349,14 +349,15 @@ namespace ts {
349
349
decorators : ReadonlyArray < Decorator > | undefined ,
350
350
modifiers : ReadonlyArray < Modifier > | undefined ,
351
351
name : string | PropertyName ,
352
- questionToken : QuestionToken | undefined ,
352
+ questionOrExclamationToken : QuestionToken | ExclamationToken | undefined ,
353
353
type : TypeNode | undefined ,
354
354
initializer : Expression | undefined ) {
355
355
const node = < PropertyDeclaration > createSynthesizedNode ( SyntaxKind . PropertyDeclaration ) ;
356
356
node . decorators = asNodeArray ( decorators ) ;
357
357
node . modifiers = asNodeArray ( modifiers ) ;
358
358
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 ;
360
361
node . type = type ;
361
362
node . initializer = initializer ;
362
363
return node ;
@@ -367,16 +368,17 @@ namespace ts {
367
368
decorators : ReadonlyArray < Decorator > | undefined ,
368
369
modifiers : ReadonlyArray < Modifier > | undefined ,
369
370
name : string | PropertyName ,
370
- questionToken : QuestionToken | undefined ,
371
+ questionOrExclamationToken : QuestionToken | ExclamationToken | undefined ,
371
372
type : TypeNode | undefined ,
372
373
initializer : Expression | undefined ) {
373
374
return node . decorators !== decorators
374
375
|| node . modifiers !== modifiers
375
376
|| 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 )
377
379
|| node . type !== type
378
380
|| node . initializer !== initializer
379
- ? updateNode ( createProperty ( decorators , modifiers , name , questionToken , type , initializer ) , node )
381
+ ? updateNode ( createProperty ( decorators , modifiers , name , questionOrExclamationToken , type , initializer ) , node )
380
382
: node ;
381
383
}
382
384
0 commit comments