@@ -10,28 +10,35 @@ import 'package:code_builder/src/builders/statement.dart';
1010import 'package:code_builder/src/tokens.dart' ;
1111
1212/// Short-hand syntax for `new SwitchCaseBuilder(...)` .
13- SwitchCaseBuilder switchCase (ExpressionBuilder condition,
14- [Iterable <StatementBuilder > statements = const []]) =>
13+ SwitchCaseBuilder switchCase (
14+ ExpressionBuilder condition, [
15+ Iterable <StatementBuilder > statements = const [],
16+ ]) =>
1517 new SwitchCaseBuilder (condition)..addStatements (statements ?? []);
1618
1719/// Short-hand syntax for `new SwitchDefaultCaseBuilder(...)` .
18- SwitchDefaultCaseBuilder switchDefault (
19- [Iterable <StatementBuilder > statements = const []]) =>
20+ SwitchDefaultCaseBuilder switchDefault ([
21+ Iterable <StatementBuilder > statements = const [],
22+ ]) =>
2023 new SwitchDefaultCaseBuilder ()..addStatements (statements ?? []);
2124
2225/// Short-hand syntax for `new SwitchStatementBuilder(...)` .
23- SwitchStatementBuilder switchStatement (ExpressionBuilder expression,
24- {Iterable <SwitchCaseBuilder > cases: const [],
25- SwitchDefaultCaseBuilder defaultCase}) =>
26+ SwitchStatementBuilder switchStatement (
27+ ExpressionBuilder expression, {
28+ Iterable <SwitchCaseBuilder > cases: const [],
29+ SwitchDefaultCaseBuilder defaultCase,
30+ }) =>
2631 new SwitchStatementBuilder (expression)
2732 ..setDefaultCase (defaultCase)
2833 ..addCases (cases ?? []);
2934
30- /// Represents an [ExpressionBuilder] and a series of [SwitchCaseBuilder] s as a switch statement AST.
35+ /// Represents an [ExpressionBuilder] switches as an AST.
3136abstract class SwitchStatementBuilder implements StatementBuilder {
3237 /// Creates a new [SwitchStatementBuilder] .
33- factory SwitchStatementBuilder (ExpressionBuilder expression,
34- [Iterable <ValidSwitchMember > members = const []]) =>
38+ factory SwitchStatementBuilder (
39+ ExpressionBuilder expression, [
40+ Iterable <ValidSwitchMember > members = const [],
41+ ]) =>
3542 new _SwitchStatementBuilder (expression, members);
3643
3744 /// Adds a [switchCase] to the builder.
@@ -47,16 +54,15 @@ abstract class SwitchStatementBuilder implements StatementBuilder {
4754 void setDefaultCase (SwitchDefaultCaseBuilder defaultCase);
4855}
4956
50- /// A marker interface for an AST that could be added to [SwitchStatementBuilder] .
57+ /// A marker interface for an AST usable within a [SwitchStatementBuilder] .
5158///
5259/// This can be either a [SwitchCaseBuilder] or a [SwitchDefaultCaseBuilder] .
5360abstract class ValidSwitchMember {}
5461
55- /// Represents an [ExpressionBuilder] and a series of [Statement] s as a switch case AST.
62+ /// Represents an [ExpressionBuilder] and statements as a switch case AST.
5663abstract class SwitchCaseBuilder implements HasStatements , ValidSwitchMember {
5764 /// Creates a new [SwitchCaseBuilder] .
58- factory SwitchCaseBuilder (ExpressionBuilder condition) =>
59- new _SwitchCaseBuilder (condition);
65+ factory SwitchCaseBuilder (ExpressionBuilder condition) = _SwitchCaseBuilder ;
6066
6167 /// Returns an [SwitchMember] AST representing the builder.
6268 SwitchMember buildSwitchMember ([Scope scope]);
@@ -65,7 +71,7 @@ abstract class SwitchCaseBuilder implements HasStatements, ValidSwitchMember {
6571/// Represents a series of [Statement] s as a default switch case AST.
6672abstract class SwitchDefaultCaseBuilder
6773 implements HasStatements , ValidSwitchMember {
68- factory SwitchDefaultCaseBuilder () => new _SwitchDefaultCaseBuilder () ;
74+ factory SwitchDefaultCaseBuilder () = _SwitchDefaultCaseBuilder ;
6975
7076 /// Returns an [SwitchMember] AST representing the builder.
7177 SwitchMember buildSwitchMember ([Scope scope]);
@@ -78,12 +84,16 @@ class _SwitchStatementBuilder extends Object
7884 final List <SwitchCaseBuilder > _cases = [];
7985 SwitchDefaultCaseBuilder _defaultCase;
8086
81- _SwitchStatementBuilder (this ._expression,
82- [Iterable <ValidSwitchMember > members = const []]) {
87+ _SwitchStatementBuilder (
88+ this ._expression, [
89+ Iterable <ValidSwitchMember > members = const [],
90+ ]) {
8391 for (final member in members) {
84- if (member is SwitchDefaultCaseBuilder )
92+ if (member is SwitchDefaultCaseBuilder ) {
8593 _defaultCase = member;
86- else if (member is SwitchCaseBuilder ) _cases.add (member);
94+ } else if (member is SwitchCaseBuilder ) {
95+ _cases.add (member);
96+ }
8797 }
8898 }
8999
@@ -105,18 +115,18 @@ class _SwitchStatementBuilder extends Object
105115 @override
106116 SwitchStatement buildSwitchStatement ([Scope scope]) {
107117 var members = _cases.map ((c) => c.buildSwitchMember (scope)).toList ();
108-
109- if (_defaultCase != null )
118+ if (_defaultCase != null ) {
110119 members.add (_defaultCase.buildSwitchMember (scope));
111-
120+ }
112121 return astFactory.switchStatement (
113- $switch,
114- $openBracket,
115- _expression.buildExpression (),
116- $closeParen,
117- $openBracket,
118- members,
119- $closeBracket);
122+ $switch,
123+ $openBracket,
124+ _expression.buildExpression (),
125+ $closeParen,
126+ $openBracket,
127+ members,
128+ $closeBracket,
129+ );
120130 }
121131
122132 @override
@@ -134,8 +144,13 @@ class _SwitchCaseBuilder extends Object
134144 AstNode buildAst ([Scope scope]) => buildSwitchMember (scope);
135145
136146 @override
137- SwitchMember buildSwitchMember ([Scope scope]) => astFactory.switchCase (null ,
138- $case, _condition.buildExpression (), $colon, buildStatements (scope));
147+ SwitchMember buildSwitchMember ([Scope scope]) => astFactory.switchCase (
148+ null ,
149+ $case,
150+ _condition.buildExpression (),
151+ $colon,
152+ buildStatements (scope),
153+ );
139154}
140155
141156class _SwitchDefaultCaseBuilder extends Object
@@ -145,6 +160,10 @@ class _SwitchDefaultCaseBuilder extends Object
145160 AstNode buildAst ([Scope scope]) => buildSwitchMember (scope);
146161
147162 @override
148- SwitchMember buildSwitchMember ([Scope scope]) =>
149- astFactory.switchDefault (null , $default, $colon, buildStatements ());
163+ SwitchMember buildSwitchMember ([Scope scope]) => astFactory.switchDefault (
164+ null ,
165+ $default,
166+ $colon,
167+ buildStatements (),
168+ );
150169}
0 commit comments