Skip to content

Commit 5ac8158

Browse files
authored
Singleton comments (#1230)
* storing comments in a singleton * no need to initiate an empty `comments` array for every single node, prettier will create them if needed and only a few places need to check if it's defined * `updateMetadata` now doesn't need to process collections
1 parent 7708d37 commit 5ac8158

48 files changed

Lines changed: 43 additions & 132 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/slang-nodes/ArrayExpression.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ export class ArrayExpression extends SlangNode {
1616
super(ast);
1717

1818
this.items = new ArrayValues(ast.items, options);
19-
20-
this.updateMetadata(this.items);
2119
}
2220

2321
print(path: AstPath<ArrayExpression>, print: PrintFunction): Doc {

src/slang-nodes/ArrayValues.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ export class ArrayValues extends SlangNode {
1717
super(ast, true);
1818

1919
this.items = ast.items.map((item) => new Expression(item, options));
20-
21-
this.updateMetadata(this.items);
2220
}
2321

2422
print(path: AstPath<ArrayValues>, print: PrintFunction): Doc {

src/slang-nodes/AssemblyFlags.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ export class AssemblyFlags extends SlangNode {
1717
super(ast, true);
1818

1919
this.items = ast.items.map((item) => new StringLiteral(item, options));
20-
21-
this.updateMetadata(this.items);
2220
}
2321

2422
print(path: AstPath<AssemblyFlags>, print: PrintFunction): Doc {

src/slang-nodes/CallOptions.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ export class CallOptions extends SlangNode {
2020
super(ast, true);
2121

2222
this.items = ast.items.map((item) => new NamedArgument(item, options));
23-
24-
this.updateMetadata(this.items);
2523
}
2624

2725
print(

src/slang-nodes/CatchClauses.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ export class CatchClauses extends SlangNode {
1919
super(ast, true);
2020

2121
this.items = ast.items.map((item) => new CatchClause(item, options));
22-
23-
this.updateMetadata(this.items);
2422
}
2523

2624
print(path: AstPath<CatchClauses>, print: PrintFunction): Doc {

src/slang-nodes/ConstructorAttributes.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ export class ConstructorAttributes extends SlangNode {
2323
(item) => new ConstructorAttribute(item, options)
2424
);
2525

26-
this.updateMetadata(this.items);
27-
2826
this.items = this.items.sort(sortFunctionAttributes);
2927
}
3028

src/slang-nodes/ContractMembers.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,14 @@ export class ContractMembers extends SlangNode {
2121
super(ast, true);
2222

2323
this.items = ast.items.map((item) => new ContractMember(item, options));
24-
25-
this.updateMetadata(this.items);
2624
}
2725

2826
print(
2927
path: AstPath<ContractMembers>,
3028
print: PrintFunction,
3129
options: ParserOptions<AstNode>
3230
): Doc {
33-
return this.items.length > 0 || this.comments.length > 0
31+
return this.items.length > 0 || (this.comments?.length || 0) > 0
3432
? printSeparatedItem(printPreservingEmptyLines(path, print, options), {
3533
firstSeparator: hardline
3634
})

src/slang-nodes/ContractSpecifiers.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ export class ContractSpecifiers extends SlangNode {
2222

2323
this.items = ast.items.map((item) => new ContractSpecifier(item, options));
2424

25-
this.updateMetadata(this.items);
26-
2725
this.items = this.items.sort(sortContractSpecifiers);
2826
}
2927

src/slang-nodes/ErrorParameters.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ export class ErrorParameters extends SlangNode {
1717
super(ast, true);
1818

1919
this.items = ast.items.map((item) => new ErrorParameter(item, options));
20-
21-
this.updateMetadata(this.items);
2220
}
2321

2422
print(path: AstPath<ErrorParameters>, print: PrintFunction): Doc {

src/slang-nodes/EventParameters.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ export class EventParameters extends SlangNode {
1717
super(ast, true);
1818

1919
this.items = ast.items.map((item) => new EventParameter(item, options));
20-
21-
this.updateMetadata(this.items);
2220
}
2321

2422
print(path: AstPath<EventParameters>, print: PrintFunction): Doc {

0 commit comments

Comments
 (0)