1
1
import {
2
- AccessorDeclaration ,
3
2
addEmitFlags ,
4
3
addInternalEmitFlags ,
5
4
AdditiveOperator ,
@@ -23,7 +22,6 @@ import {
23
22
CompilerOptions ,
24
23
ComputedPropertyName ,
25
24
Debug ,
26
- Declaration ,
27
25
DefaultKeyword ,
28
26
EmitFlags ,
29
27
EmitHelperFactory ,
@@ -49,7 +47,6 @@ import {
49
47
GeneratedNamePart ,
50
48
GeneratedPrivateIdentifier ,
51
49
GetAccessorDeclaration ,
52
- getAllAccessorDeclarations ,
53
50
getEmitFlags ,
54
51
getEmitHelpers ,
55
52
getEmitModuleFormatOfFileWorker ,
@@ -60,7 +57,6 @@ import {
60
57
getImpliedNodeFormatForEmitWorker ,
61
58
getJSDocType ,
62
59
getJSDocTypeTag ,
63
- getModifiers ,
64
60
getNamespaceDeclarationNode ,
65
61
getOrCreateEmitNode ,
66
62
getOriginalNode ,
@@ -123,7 +119,6 @@ import {
123
119
LogicalOperatorOrHigher ,
124
120
map ,
125
121
MemberExpression ,
126
- MethodDeclaration ,
127
122
MinusToken ,
128
123
Modifier ,
129
124
ModifiersArray ,
@@ -137,8 +132,6 @@ import {
137
132
NodeFactory ,
138
133
nodeIsSynthesized ,
139
134
NumericLiteral ,
140
- ObjectLiteralElementLike ,
141
- ObjectLiteralExpression ,
142
135
OuterExpression ,
143
136
OuterExpressionKinds ,
144
137
ParenthesizedExpression ,
@@ -147,7 +140,6 @@ import {
147
140
PostfixUnaryExpression ,
148
141
PrefixUnaryExpression ,
149
142
PrivateIdentifier ,
150
- PropertyAssignment ,
151
143
PropertyDeclaration ,
152
144
PropertyName ,
153
145
pushIfUnique ,
@@ -156,13 +148,11 @@ import {
156
148
RelationalOperator ,
157
149
RelationalOperatorOrHigher ,
158
150
SetAccessorDeclaration ,
159
- setOriginalNode ,
160
151
setParent ,
161
152
setStartsOnNewLine ,
162
153
setTextRange ,
163
154
ShiftOperator ,
164
155
ShiftOperatorOrHigher ,
165
- ShorthandPropertyAssignment ,
166
156
some ,
167
157
SourceFile ,
168
158
Statement ,
@@ -344,141 +334,6 @@ export function createExpressionFromEntityName(factory: NodeFactory, node: Entit
344
334
}
345
335
}
346
336
347
- /** @internal */
348
- export function createExpressionForPropertyName ( factory : NodeFactory , memberName : Exclude < PropertyName , PrivateIdentifier > ) : Expression {
349
- if ( isIdentifier ( memberName ) ) {
350
- return factory . createStringLiteralFromNode ( memberName ) ;
351
- }
352
- else if ( isComputedPropertyName ( memberName ) ) {
353
- // TODO(rbuckton): Does this need to be parented?
354
- return setParent ( setTextRange ( factory . cloneNode ( memberName . expression ) , memberName . expression ) , memberName . expression . parent ) ;
355
- }
356
- else {
357
- // TODO(rbuckton): Does this need to be parented?
358
- return setParent ( setTextRange ( factory . cloneNode ( memberName ) , memberName ) , memberName . parent ) ;
359
- }
360
- }
361
-
362
- function createExpressionForAccessorDeclaration ( factory : NodeFactory , properties : NodeArray < Declaration > , property : AccessorDeclaration & { readonly name : Exclude < PropertyName , PrivateIdentifier > ; } , receiver : Expression , multiLine : boolean ) {
363
- const { firstAccessor, getAccessor, setAccessor } = getAllAccessorDeclarations ( properties , property ) ;
364
- if ( property === firstAccessor ) {
365
- return setTextRange (
366
- factory . createObjectDefinePropertyCall (
367
- receiver ,
368
- createExpressionForPropertyName ( factory , property . name ) ,
369
- factory . createPropertyDescriptor ( {
370
- enumerable : factory . createFalse ( ) ,
371
- configurable : true ,
372
- get : getAccessor && setTextRange (
373
- setOriginalNode (
374
- factory . createFunctionExpression (
375
- getModifiers ( getAccessor ) ,
376
- /*asteriskToken*/ undefined ,
377
- /*name*/ undefined ,
378
- /*typeParameters*/ undefined ,
379
- getAccessor . parameters ,
380
- /*type*/ undefined ,
381
- getAccessor . body ! , // TODO: GH#18217
382
- ) ,
383
- getAccessor ,
384
- ) ,
385
- getAccessor ,
386
- ) ,
387
- set : setAccessor && setTextRange (
388
- setOriginalNode (
389
- factory . createFunctionExpression (
390
- getModifiers ( setAccessor ) ,
391
- /*asteriskToken*/ undefined ,
392
- /*name*/ undefined ,
393
- /*typeParameters*/ undefined ,
394
- setAccessor . parameters ,
395
- /*type*/ undefined ,
396
- setAccessor . body ! , // TODO: GH#18217
397
- ) ,
398
- setAccessor ,
399
- ) ,
400
- setAccessor ,
401
- ) ,
402
- } , ! multiLine ) ,
403
- ) ,
404
- firstAccessor ,
405
- ) ;
406
- }
407
-
408
- return undefined ;
409
- }
410
-
411
- function createExpressionForPropertyAssignment ( factory : NodeFactory , property : PropertyAssignment , receiver : Expression ) {
412
- return setOriginalNode (
413
- setTextRange (
414
- factory . createAssignment (
415
- createMemberAccessForPropertyName ( factory , receiver , property . name , /*location*/ property . name ) ,
416
- property . initializer ,
417
- ) ,
418
- property ,
419
- ) ,
420
- property ,
421
- ) ;
422
- }
423
-
424
- function createExpressionForShorthandPropertyAssignment ( factory : NodeFactory , property : ShorthandPropertyAssignment , receiver : Expression ) {
425
- return setOriginalNode (
426
- setTextRange (
427
- factory . createAssignment (
428
- createMemberAccessForPropertyName ( factory , receiver , property . name , /*location*/ property . name ) ,
429
- factory . cloneNode ( property . name ) ,
430
- ) ,
431
- /*location*/ property ,
432
- ) ,
433
- /*original*/ property ,
434
- ) ;
435
- }
436
-
437
- function createExpressionForMethodDeclaration ( factory : NodeFactory , method : MethodDeclaration , receiver : Expression ) {
438
- return setOriginalNode (
439
- setTextRange (
440
- factory . createAssignment (
441
- createMemberAccessForPropertyName ( factory , receiver , method . name , /*location*/ method . name ) ,
442
- setOriginalNode (
443
- setTextRange (
444
- factory . createFunctionExpression (
445
- getModifiers ( method ) ,
446
- method . asteriskToken ,
447
- /*name*/ undefined ,
448
- /*typeParameters*/ undefined ,
449
- method . parameters ,
450
- /*type*/ undefined ,
451
- method . body ! , // TODO: GH#18217
452
- ) ,
453
- /*location*/ method ,
454
- ) ,
455
- /*original*/ method ,
456
- ) ,
457
- ) ,
458
- /*location*/ method ,
459
- ) ,
460
- /*original*/ method ,
461
- ) ;
462
- }
463
-
464
- /** @internal */
465
- export function createExpressionForObjectLiteralElementLike ( factory : NodeFactory , node : ObjectLiteralExpression , property : ObjectLiteralElementLike , receiver : Expression ) : Expression | undefined {
466
- if ( property . name && isPrivateIdentifier ( property . name ) ) {
467
- Debug . failBadSyntaxKind ( property . name , "Private identifiers are not allowed in object literals." ) ;
468
- }
469
- switch ( property . kind ) {
470
- case SyntaxKind . GetAccessor :
471
- case SyntaxKind . SetAccessor :
472
- return createExpressionForAccessorDeclaration ( factory , node . properties , property as typeof property & { readonly name : Exclude < PropertyName , PrivateIdentifier > ; } , receiver , ! ! node . multiLine ) ;
473
- case SyntaxKind . PropertyAssignment :
474
- return createExpressionForPropertyAssignment ( factory , property , receiver ) ;
475
- case SyntaxKind . ShorthandPropertyAssignment :
476
- return createExpressionForShorthandPropertyAssignment ( factory , property , receiver ) ;
477
- case SyntaxKind . MethodDeclaration :
478
- return createExpressionForMethodDeclaration ( factory , property , receiver ) ;
479
- }
480
- }
481
-
482
337
/**
483
338
* Expand the read and increment/decrement operations a pre- or post-increment or pre- or post-decrement expression.
484
339
*
@@ -548,15 +403,6 @@ export function expandPreOrPostfixIncrementOrDecrementExpression(
548
403
return expression ;
549
404
}
550
405
551
- /**
552
- * Gets whether an identifier should only be referred to by its internal name.
553
- *
554
- * @internal
555
- */
556
- export function isInternalName ( node : Identifier ) : boolean {
557
- return ( getEmitFlags ( node ) & EmitFlags . InternalName ) !== 0 ;
558
- }
559
-
560
406
/**
561
407
* Gets whether an identifier should only be referred to by its local name.
562
408
*
0 commit comments