Skip to content

Commit a60d591

Browse files
committed
Cleanup of duplicate code due to merge
1 parent ea15225 commit a60d591

14 files changed

+16
-170
lines changed

src/compiler/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11387,7 +11387,7 @@ module ts {
1138711387
return grammarErrorOnNode(node, Diagnostics.Decorators_are_only_available_when_targeting_ECMAScript_5_and_higher);
1138811388
}
1138911389
else if (node.kind === SyntaxKind.GetAccessor || node.kind === SyntaxKind.SetAccessor) {
11390-
let accessors = mergeAccessorDeclarations((<ClassDeclaration>node.parent).members, <AccessorDeclaration>node);
11390+
let accessors = getAllAccessorDeclarations((<ClassDeclaration>node.parent).members, <AccessorDeclaration>node);
1139111391
if (accessors.firstAccessor.decorators && node === accessors.secondAccessor) {
1139211392
return grammarErrorOnNode(node, Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name);
1139311393
}

src/compiler/core.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,9 @@ module ts {
162162
return ~low;
163163
}
164164

165-
export function foldLeft<T>(array: T[], f: (a: T, x: T) => T): T;
166-
export function foldLeft<T, U>(array: T[], f: (a: U, x: T) => U, initial: U): U;
167-
export function foldLeft<T, U>(array: T[], f: (a: U, x: T) => U, initial?: U): U {
165+
export function reduceLeft<T>(array: T[], f: (a: T, x: T) => T): T;
166+
export function reduceLeft<T, U>(array: T[], f: (a: U, x: T) => U, initial: U): U;
167+
export function reduceLeft<T, U>(array: T[], f: (a: U, x: T) => U, initial?: U): U {
168168
if (array) {
169169
var count = array.length;
170170
if (count > 0) {
@@ -179,9 +179,9 @@ module ts {
179179
return initial;
180180
}
181181

182-
export function foldRight<T>(array: T[], f: (a: T, x: T) => T): T;
183-
export function foldRight<T, U>(array: T[], f: (a: U, x: T) => U, initial: U): U;
184-
export function foldRight<T, U>(array: T[], f: (a: U, x: T) => U, initial?: U): U {
182+
export function reduceRight<T>(array: T[], f: (a: T, x: T) => T): T;
183+
export function reduceRight<T, U>(array: T[], f: (a: U, x: T) => U, initial: U): U;
184+
export function reduceRight<T, U>(array: T[], f: (a: U, x: T) => U, initial?: U): U {
185185
if (array) {
186186
var pos = array.length - 1;
187187
if (pos >= 0) {

src/compiler/emitter.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ module ts {
2121

2222
// flag enum used to request and track usages of few dedicated temp variables
2323
// enum values are used to set/check bit values and thus should not have bit collisions.
24-
let accessors = getAllAccessorDeclarations((<ClassDeclaration>node.parent).members, node);
2524
const enum TempVariableKind {
2625
auto = 0,
2726
_i = 1,
@@ -1497,7 +1496,7 @@ module ts {
14971496

14981497
case SyntaxKind.GetAccessor:
14991498
case SyntaxKind.SetAccessor:
1500-
let { firstAccessor, getAccessor, setAccessor } = mergeAccessorDeclarations(objectLiteral.properties, <AccessorDeclaration>property);
1499+
let { firstAccessor, getAccessor, setAccessor } = getAllAccessorDeclarations(objectLiteral.properties, <AccessorDeclaration>property);
15011500

15021501
// Only emit the first accessor.
15031502
if (firstAccessor !== property) {
@@ -3327,7 +3326,7 @@ module ts {
33273326
emitTrailingComments(member);
33283327
}
33293328
else if (member.kind === SyntaxKind.GetAccessor || member.kind === SyntaxKind.SetAccessor) {
3330-
let accessors = mergeAccessorDeclarations(node.members, <AccessorDeclaration>member);
3329+
let accessors = getAllAccessorDeclarations(node.members, <AccessorDeclaration>member);
33313330
if (member === accessors.firstAccessor) {
33323331
writeLine();
33333332
emitStart(member);
@@ -3815,7 +3814,7 @@ module ts {
38153814

38163815
case SyntaxKind.GetAccessor:
38173816
case SyntaxKind.SetAccessor:
3818-
let accessors = mergeAccessorDeclarations(node.members, <AccessorDeclaration>member);
3817+
let accessors = getAllAccessorDeclarations(node.members, <AccessorDeclaration>member);
38193818
if (member !== accessors.firstAccessor) {
38203819
// skip the second accessor as we processed it with the first.
38213820
return;

src/compiler/types.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -542,14 +542,6 @@ module ts {
542542
body: Block;
543543
}
544544

545-
// A merged view of get/set accessors
546-
export interface MergedAccessorDeclarations {
547-
getAccessor: AccessorDeclaration;
548-
setAccessor: AccessorDeclaration;
549-
firstAccessor: AccessorDeclaration;
550-
secondAccessor: AccessorDeclaration;
551-
}
552-
553545
export interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement {
554546
_indexSignatureDeclarationBrand: any;
555547
}

src/compiler/utilities.ts

Lines changed: 5 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -575,56 +575,6 @@ module ts {
575575
return (<CallExpression>node).expression;
576576
}
577577

578-
export function mergeAccessorDeclarations(declarations: NodeArray<Declaration>, accessor: AccessorDeclaration): MergedAccessorDeclarations {
579-
let firstAccessor: AccessorDeclaration;
580-
let secondAccessor: AccessorDeclaration;
581-
let getAccessor: AccessorDeclaration;
582-
let setAccessor: AccessorDeclaration;
583-
if (hasDynamicName(accessor)) {
584-
firstAccessor = accessor;
585-
if (accessor.kind === SyntaxKind.GetAccessor) {
586-
getAccessor = accessor;
587-
}
588-
else if (accessor.kind === SyntaxKind.SetAccessor) {
589-
setAccessor = accessor;
590-
}
591-
else {
592-
Debug.fail("Accessor has wrong kind");
593-
}
594-
}
595-
else {
596-
forEach(declarations, (member: Declaration) => {
597-
if ((member.kind === SyntaxKind.GetAccessor || member.kind === SyntaxKind.SetAccessor)
598-
&& (member.flags & NodeFlags.Static) === (accessor.flags & NodeFlags.Static)) {
599-
let memberName = getPropertyNameForPropertyNameNode(member.name);
600-
let accessorName = getPropertyNameForPropertyNameNode(accessor.name);
601-
if (memberName === accessorName) {
602-
if (!firstAccessor) {
603-
firstAccessor = <AccessorDeclaration>member;
604-
}
605-
else if (!secondAccessor) {
606-
secondAccessor = <AccessorDeclaration>member;
607-
}
608-
609-
if (member.kind === SyntaxKind.GetAccessor && !getAccessor) {
610-
getAccessor = <AccessorDeclaration>member;
611-
}
612-
613-
if (member.kind === SyntaxKind.SetAccessor && !setAccessor) {
614-
setAccessor = <AccessorDeclaration>member;
615-
}
616-
}
617-
}
618-
});
619-
}
620-
return {
621-
firstAccessor,
622-
secondAccessor,
623-
getAccessor,
624-
setAccessor
625-
};
626-
}
627-
628578
export function nodeCanBeDecorated(node: Node): boolean {
629579
switch (node.kind) {
630580
case SyntaxKind.ClassDeclaration:
@@ -1626,6 +1576,7 @@ module ts {
16261576

16271577
export function getAllAccessorDeclarations(declarations: NodeArray<Declaration>, accessor: AccessorDeclaration) {
16281578
let firstAccessor: AccessorDeclaration;
1579+
let secondAccessor: AccessorDeclaration;
16291580
let getAccessor: AccessorDeclaration;
16301581
let setAccessor: AccessorDeclaration;
16311582
if (hasDynamicName(accessor)) {
@@ -1650,6 +1601,9 @@ module ts {
16501601
if (!firstAccessor) {
16511602
firstAccessor = <AccessorDeclaration>member;
16521603
}
1604+
else if (!secondAccessor) {
1605+
secondAccessor = <AccessorDeclaration>member;
1606+
}
16531607

16541608
if (member.kind === SyntaxKind.GetAccessor && !getAccessor) {
16551609
getAccessor = <AccessorDeclaration>member;
@@ -1664,6 +1618,7 @@ module ts {
16641618
}
16651619
return {
16661620
firstAccessor,
1621+
secondAccessor,
16671622
getAccessor,
16681623
setAccessor
16691624
};

tests/baselines/reference/APISample_compile.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -472,12 +472,6 @@ declare module "typescript" {
472472
_accessorDeclarationBrand: any;
473473
body: Block;
474474
}
475-
interface MergedAccessorDeclarations {
476-
getAccessor: AccessorDeclaration;
477-
setAccessor: AccessorDeclaration;
478-
firstAccessor: AccessorDeclaration;
479-
secondAccessor: AccessorDeclaration;
480-
}
481475
interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement {
482476
_indexSignatureDeclarationBrand: any;
483477
}

tests/baselines/reference/APISample_compile.types

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,25 +1440,6 @@ declare module "typescript" {
14401440
body: Block;
14411441
>body : Block
14421442
>Block : Block
1443-
}
1444-
interface MergedAccessorDeclarations {
1445-
>MergedAccessorDeclarations : MergedAccessorDeclarations
1446-
1447-
getAccessor: AccessorDeclaration;
1448-
>getAccessor : AccessorDeclaration
1449-
>AccessorDeclaration : AccessorDeclaration
1450-
1451-
setAccessor: AccessorDeclaration;
1452-
>setAccessor : AccessorDeclaration
1453-
>AccessorDeclaration : AccessorDeclaration
1454-
1455-
firstAccessor: AccessorDeclaration;
1456-
>firstAccessor : AccessorDeclaration
1457-
>AccessorDeclaration : AccessorDeclaration
1458-
1459-
secondAccessor: AccessorDeclaration;
1460-
>secondAccessor : AccessorDeclaration
1461-
>AccessorDeclaration : AccessorDeclaration
14621443
}
14631444
interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement {
14641445
>IndexSignatureDeclaration : IndexSignatureDeclaration

tests/baselines/reference/APISample_linter.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -503,12 +503,6 @@ declare module "typescript" {
503503
_accessorDeclarationBrand: any;
504504
body: Block;
505505
}
506-
interface MergedAccessorDeclarations {
507-
getAccessor: AccessorDeclaration;
508-
setAccessor: AccessorDeclaration;
509-
firstAccessor: AccessorDeclaration;
510-
secondAccessor: AccessorDeclaration;
511-
}
512506
interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement {
513507
_indexSignatureDeclarationBrand: any;
514508
}

tests/baselines/reference/APISample_linter.types

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1586,25 +1586,6 @@ declare module "typescript" {
15861586
body: Block;
15871587
>body : Block
15881588
>Block : Block
1589-
}
1590-
interface MergedAccessorDeclarations {
1591-
>MergedAccessorDeclarations : MergedAccessorDeclarations
1592-
1593-
getAccessor: AccessorDeclaration;
1594-
>getAccessor : AccessorDeclaration
1595-
>AccessorDeclaration : AccessorDeclaration
1596-
1597-
setAccessor: AccessorDeclaration;
1598-
>setAccessor : AccessorDeclaration
1599-
>AccessorDeclaration : AccessorDeclaration
1600-
1601-
firstAccessor: AccessorDeclaration;
1602-
>firstAccessor : AccessorDeclaration
1603-
>AccessorDeclaration : AccessorDeclaration
1604-
1605-
secondAccessor: AccessorDeclaration;
1606-
>secondAccessor : AccessorDeclaration
1607-
>AccessorDeclaration : AccessorDeclaration
16081589
}
16091590
interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement {
16101591
>IndexSignatureDeclaration : IndexSignatureDeclaration

tests/baselines/reference/APISample_transform.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -504,12 +504,6 @@ declare module "typescript" {
504504
_accessorDeclarationBrand: any;
505505
body: Block;
506506
}
507-
interface MergedAccessorDeclarations {
508-
getAccessor: AccessorDeclaration;
509-
setAccessor: AccessorDeclaration;
510-
firstAccessor: AccessorDeclaration;
511-
secondAccessor: AccessorDeclaration;
512-
}
513507
interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement {
514508
_indexSignatureDeclarationBrand: any;
515509
}

tests/baselines/reference/APISample_transform.types

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1536,25 +1536,6 @@ declare module "typescript" {
15361536
body: Block;
15371537
>body : Block
15381538
>Block : Block
1539-
}
1540-
interface MergedAccessorDeclarations {
1541-
>MergedAccessorDeclarations : MergedAccessorDeclarations
1542-
1543-
getAccessor: AccessorDeclaration;
1544-
>getAccessor : AccessorDeclaration
1545-
>AccessorDeclaration : AccessorDeclaration
1546-
1547-
setAccessor: AccessorDeclaration;
1548-
>setAccessor : AccessorDeclaration
1549-
>AccessorDeclaration : AccessorDeclaration
1550-
1551-
firstAccessor: AccessorDeclaration;
1552-
>firstAccessor : AccessorDeclaration
1553-
>AccessorDeclaration : AccessorDeclaration
1554-
1555-
secondAccessor: AccessorDeclaration;
1556-
>secondAccessor : AccessorDeclaration
1557-
>AccessorDeclaration : AccessorDeclaration
15581539
}
15591540
interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement {
15601541
>IndexSignatureDeclaration : IndexSignatureDeclaration

tests/baselines/reference/APISample_watcher.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -541,12 +541,6 @@ declare module "typescript" {
541541
_accessorDeclarationBrand: any;
542542
body: Block;
543543
}
544-
interface MergedAccessorDeclarations {
545-
getAccessor: AccessorDeclaration;
546-
setAccessor: AccessorDeclaration;
547-
firstAccessor: AccessorDeclaration;
548-
secondAccessor: AccessorDeclaration;
549-
}
550544
interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement {
551545
_indexSignatureDeclarationBrand: any;
552546
}

tests/baselines/reference/APISample_watcher.types

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1709,25 +1709,6 @@ declare module "typescript" {
17091709
body: Block;
17101710
>body : Block
17111711
>Block : Block
1712-
}
1713-
interface MergedAccessorDeclarations {
1714-
>MergedAccessorDeclarations : MergedAccessorDeclarations
1715-
1716-
getAccessor: AccessorDeclaration;
1717-
>getAccessor : AccessorDeclaration
1718-
>AccessorDeclaration : AccessorDeclaration
1719-
1720-
setAccessor: AccessorDeclaration;
1721-
>setAccessor : AccessorDeclaration
1722-
>AccessorDeclaration : AccessorDeclaration
1723-
1724-
firstAccessor: AccessorDeclaration;
1725-
>firstAccessor : AccessorDeclaration
1726-
>AccessorDeclaration : AccessorDeclaration
1727-
1728-
secondAccessor: AccessorDeclaration;
1729-
>secondAccessor : AccessorDeclaration
1730-
>AccessorDeclaration : AccessorDeclaration
17311712
}
17321713
interface IndexSignatureDeclaration extends SignatureDeclaration, ClassElement {
17331714
>IndexSignatureDeclaration : IndexSignatureDeclaration

tests/baselines/reference/declarationEmitDefaultExport2.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ export default class {
33
}
44

55
//// [declarationEmitDefaultExport2.js]
6-
export default class {
6+
export default class {
77
}
88

99

0 commit comments

Comments
 (0)