@@ -72,35 +72,31 @@ String? _generateClassWrappedInstance(ClassDeclaration declaration) {
72
72
}
73
73
74
74
List <String > _generateInitializers (ClassDeclaration declaration) {
75
- final initializers = [
76
- declaration.wrapperInitializer,
77
- ... declaration.initializers,
78
- ].nonNulls;
79
- return [ for ( final init in initializers) ... _generateInitializer (init) ];
75
+ return [
76
+ ... _generateInitializer ( declaration.wrapperInitializer, isPublic : false ) ,
77
+ for ( final init in declaration.initializers)
78
+ ... _generateInitializer (init, isPublic : true ),
79
+ ];
80
80
}
81
81
82
- List <String > _generateInitializer (InitializerDeclaration initializer) {
83
- final header = StringBuffer ();
84
-
85
- if (initializer.hasObjCAnnotation) {
86
- header.write ('@objc ' );
87
- }
88
-
89
- if (initializer.isOverriding) {
90
- header.write ('override ' );
91
- }
92
-
93
- header.write ('init' );
94
-
95
- if (initializer.isFailable) {
96
- header.write ('?' );
97
- }
98
-
99
- header.write ('(${generateParameters (initializer .params )})' );
82
+ List <String > _generateInitializer (
83
+ InitializerDeclaration ? initializer, {
84
+ required bool isPublic,
85
+ }) {
86
+ if (initializer == null ) return [];
87
+ final header = [
88
+ if (initializer.hasObjCAnnotation) '@objc ' ,
89
+ if (initializer.isOverriding) 'override ' ,
90
+ if (isPublic) 'public ' ,
91
+ 'init' ,
92
+ if (initializer.isFailable) '?' ,
93
+ '(${generateParameters (initializer .params )}) ' ,
94
+ '${generateAnnotations (initializer )}{' ,
95
+ ].join ('' );
100
96
101
97
return [
102
98
...generateAvailability (initializer),
103
- '$ header ${ generateAnnotations ( initializer )}{' ,
99
+ header,
104
100
...initializer.statements.indent (),
105
101
'}\n ' ,
106
102
];
0 commit comments