Skip to content

Commit a2f6367

Browse files
committed
getting rid of all print functions of classes that only print a variant
1 parent 6094176 commit a2f6367

40 files changed

Lines changed: 42 additions & 231 deletions

src/slang-nodes/ArgumentsDeclaration.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import { SlangNode } from './SlangNode.js';
44
import { PositionalArgumentsDeclaration } from './PositionalArgumentsDeclaration.js';
55
import { NamedArgumentsDeclaration } from './NamedArgumentsDeclaration.js';
66

7-
import type { AstPath, Doc, ParserOptions } from 'prettier';
7+
import type { ParserOptions } from 'prettier';
88
import type { AstNode } from './types.d.ts';
9-
import type { PrintFunction } from '../types.d.ts';
109

1110
function createNonterminalVariant(
1211
variant: ast.ArgumentsDeclaration['variant'],
@@ -34,8 +33,4 @@ export class ArgumentsDeclaration extends SlangNode {
3433

3534
this.updateMetadata(this.variant);
3635
}
37-
38-
print(path: AstPath<ArgumentsDeclaration>, print: PrintFunction): Doc {
39-
return path.call(print, 'variant');
40-
}
4136
}

src/slang-nodes/ConstructorAttribute.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ import { ModifierInvocation } from './ModifierInvocation.js';
77
import { TerminalNode } from './TerminalNode.js';
88

99
import type * as ast from '@nomicfoundation/slang/ast';
10-
import type { AstPath, Doc, ParserOptions } from 'prettier';
10+
import type { ParserOptions } from 'prettier';
1111
import type { AstNode } from './types.d.ts';
12-
import type { PrintFunction } from '../types.d.ts';
1312

1413
export class ConstructorAttribute extends SlangNode {
1514
readonly kind = NonterminalKind.ConstructorAttribute;
@@ -28,8 +27,4 @@ export class ConstructorAttribute extends SlangNode {
2827

2928
this.updateMetadata(this.variant);
3029
}
31-
32-
print(path: AstPath<ConstructorAttribute>, print: PrintFunction): Doc {
33-
return path.call(print, 'variant');
34-
}
3530
}

src/slang-nodes/ContractDefinition.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ export class ContractDefinition extends SlangNode {
4141
// Older versions of Solidity defined a constructor as a function having
4242
// the same name as the contract.
4343
if (!satisfies(options.compiler, '>=0.5.0')) {
44-
for (const { variant: member } of this.members.items) {
44+
for (const { variant } of this.members.items) {
4545
if (
46-
member.kind === NonterminalKind.FunctionDefinition &&
47-
member.name.variant.value !== this.name.value
46+
variant.kind === NonterminalKind.FunctionDefinition &&
47+
variant.name.variant.value !== this.name.value
4848
) {
49-
member.cleanModifierInvocationArguments();
49+
variant.cleanModifierInvocationArguments();
5050
}
5151
}
5252
}

src/slang-nodes/ContractMember.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@ import { StateVariableDefinition } from './StateVariableDefinition.js';
1515
import { ErrorDefinition } from './ErrorDefinition.js';
1616
import { UserDefinedValueTypeDefinition } from './UserDefinedValueTypeDefinition.js';
1717

18-
import type { AstPath, Doc, ParserOptions } from 'prettier';
18+
import type { ParserOptions } from 'prettier';
1919
import type { AstNode } from './types.d.ts';
20-
import type { PrintFunction } from '../types.d.ts';
2120

2221
function createNonterminalVariant(
2322
variant: ast.ContractMember['variant'],
@@ -91,8 +90,4 @@ export class ContractMember extends SlangNode {
9190

9291
this.updateMetadata(this.variant);
9392
}
94-
95-
print(path: AstPath<ContractMember>, print: PrintFunction): Doc {
96-
return path.call(print, 'variant');
97-
}
9893
}

src/slang-nodes/ContractSpecifier.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import { SlangNode } from './SlangNode.js';
44
import { InheritanceSpecifier } from './InheritanceSpecifier.js';
55
import { StorageLayoutSpecifier } from './StorageLayoutSpecifier.js';
66

7-
import type { AstPath, Doc, ParserOptions } from 'prettier';
7+
import type { ParserOptions } from 'prettier';
88
import type { AstNode } from './types.d.ts';
9-
import type { PrintFunction } from '../types.d.ts';
109

1110
function createNonterminalVariant(
1211
variant: ast.ContractSpecifier['variant'],
@@ -34,8 +33,4 @@ export class ContractSpecifier extends SlangNode {
3433

3534
this.updateMetadata(this.variant);
3635
}
37-
38-
print(path: AstPath<ContractSpecifier>, print: PrintFunction): Doc {
39-
return path.call(print, 'variant');
40-
}
4136
}

src/slang-nodes/ElementaryType.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import { AddressType } from './AddressType.js';
77
import { TerminalNode } from './TerminalNode.js';
88

99
import type * as ast from '@nomicfoundation/slang/ast';
10-
import type { AstPath, Doc } from 'prettier';
11-
import type { PrintFunction } from '../types.d.ts';
1210

1311
export class ElementaryType extends SlangNode {
1412
readonly kind = NonterminalKind.ElementaryType;
@@ -27,8 +25,4 @@ export class ElementaryType extends SlangNode {
2725

2826
this.updateMetadata(this.variant);
2927
}
30-
31-
print(path: AstPath<ElementaryType>, print: PrintFunction): Doc {
32-
return path.call(print, 'variant');
33-
}
3428
}

src/slang-nodes/ExperimentalFeature.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ import { StringLiteral } from './StringLiteral.js';
77
import { TerminalNode } from './TerminalNode.js';
88

99
import type * as ast from '@nomicfoundation/slang/ast';
10-
import type { AstPath, Doc, ParserOptions } from 'prettier';
10+
import type { ParserOptions } from 'prettier';
1111
import type { AstNode } from './types.d.ts';
12-
import type { PrintFunction } from '../types.d.ts';
1312

1413
export class ExperimentalFeature extends SlangNode {
1514
readonly kind = NonterminalKind.ExperimentalFeature;
@@ -28,8 +27,4 @@ export class ExperimentalFeature extends SlangNode {
2827

2928
this.updateMetadata(this.variant);
3029
}
31-
32-
print(path: AstPath<ExperimentalFeature>, print: PrintFunction): Doc {
33-
return path.call(print, 'variant');
34-
}
3530
}

src/slang-nodes/Expression.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,8 @@ import { StringExpression } from './StringExpression.js';
3333
import { ElementaryType } from './ElementaryType.js';
3434
import { TerminalNode } from './TerminalNode.js';
3535

36-
import type { AstPath, Doc, ParserOptions } from 'prettier';
36+
import type { ParserOptions } from 'prettier';
3737
import type { AstNode } from './types.d.ts';
38-
import type { PrintFunction } from '../types.d.ts';
3938

4039
function createNonterminalVariant(
4140
variant: Exclude<ast.Expression['variant'], SlangTerminalNode>,
@@ -171,8 +170,4 @@ export class Expression extends SlangNode {
171170

172171
this.updateMetadata(this.variant);
173172
}
174-
175-
print(path: AstPath<Expression>, print: PrintFunction): Doc {
176-
return path.call(print, 'variant');
177-
}
178173
}

src/slang-nodes/FallbackFunctionAttribute.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ import { ModifierInvocation } from './ModifierInvocation.js';
88
import { OverrideSpecifier } from './OverrideSpecifier.js';
99
import { TerminalNode } from './TerminalNode.js';
1010

11-
import type { AstPath, Doc, ParserOptions } from 'prettier';
11+
import type { ParserOptions } from 'prettier';
1212
import type { AstNode } from './types.d.ts';
13-
import type { PrintFunction } from '../types.d.ts';
1413

1514
function createNonterminalVariant(
1615
variant: Exclude<ast.FallbackFunctionAttribute['variant'], SlangTerminalNode>,
@@ -46,8 +45,4 @@ export class FallbackFunctionAttribute extends SlangNode {
4645

4746
this.updateMetadata(this.variant);
4847
}
49-
50-
print(path: AstPath<FallbackFunctionAttribute>, print: PrintFunction): Doc {
51-
return path.call(print, 'variant');
52-
}
5348
}

src/slang-nodes/ForStatementCondition.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ import {
44
} from '@nomicfoundation/slang/cst';
55
import { SlangNode } from './SlangNode.js';
66
import { ExpressionStatement } from './ExpressionStatement.js';
7+
import { TerminalNode } from './TerminalNode.js';
78

89
import type * as ast from '@nomicfoundation/slang/ast';
9-
import type { AstPath, Doc, ParserOptions } from 'prettier';
10+
import type { ParserOptions } from 'prettier';
1011
import type { AstNode } from './types.d.ts';
11-
import type { PrintFunction } from '../types.d.ts';
12-
import { TerminalNode } from './TerminalNode.js';
1312

1413
export class ForStatementCondition extends SlangNode {
1514
readonly kind = NonterminalKind.ForStatementCondition;
@@ -28,8 +27,4 @@ export class ForStatementCondition extends SlangNode {
2827

2928
this.updateMetadata(this.variant);
3029
}
31-
32-
print(path: AstPath<ForStatementCondition>, print: PrintFunction): Doc {
33-
return path.call(print, 'variant');
34-
}
3530
}

0 commit comments

Comments
 (0)