@@ -3,6 +3,7 @@ import 'package:build/src/builder/build_step.dart';
3
3
import 'package:code_builder/code_builder.dart' ;
4
4
import 'package:dart_style/dart_style.dart' ;
5
5
import 'package:dartstruct_generator/src/name_provider.dart' ;
6
+ import 'package:logging/logging.dart' ;
6
7
import 'package:source_gen/source_gen.dart' ;
7
8
import 'package:dartstruct/dartstruct.dart' ;
8
9
import './extensions/extensions.dart' ;
@@ -12,6 +13,7 @@ import 'models/output_source.dart';
12
13
class DartStructGenerator extends GeneratorForAnnotation <Mapper > {
13
14
final _emitter = DartEmitter ();
14
15
final _formatter = DartFormatter ();
16
+ final _logger = Logger ('dartstruct' );
15
17
16
18
@override
17
19
String generateForAnnotatedElement (Element element, ConstantReader annotation, BuildStep buildStep) {
@@ -148,8 +150,18 @@ class DartStructGenerator extends GeneratorForAnnotation<Mapper> {
148
150
final mapperExpression = _getMapperExpression (setter, inputSource);
149
151
150
152
if (mapperExpression != null ) {
153
+
151
154
final assignmentExpression = refer (outputSource.name).nullSafeProperty (setter.displayName).assign (mapperExpression);
152
155
blockBuilder.addExpression (assignmentExpression);
156
+
157
+ } else {
158
+
159
+ final unmappedFieldMessage = InvalidGenerationSourceError ('unmapped field \' ${setter .displayName }\' ' ,
160
+ element: setter
161
+ );
162
+
163
+ _logger.warning (unmappedFieldMessage.toString ());
164
+
153
165
}
154
166
155
167
}
@@ -169,11 +181,12 @@ class DartStructGenerator extends GeneratorForAnnotation<Mapper> {
169
181
170
182
171
183
if (inputFieldElement? .type == outputField.type) {
172
- return refer (inputSource.name).nullSafeProperty (fieldName);
184
+ return refer (inputSource.name).nullSafeProperty (fieldName);
173
185
}
174
186
175
187
return null ;
176
188
189
+
177
190
}
178
191
179
192
/// generate expression `final {output} = {input} == null ? null : new {output}()`
0 commit comments