@@ -3,6 +3,7 @@ import 'package:build/src/builder/build_step.dart';
33import 'package:code_builder/code_builder.dart' ;
44import 'package:dart_style/dart_style.dart' ;
55import 'package:dartstruct_generator/src/name_provider.dart' ;
6+ import 'package:logging/logging.dart' ;
67import 'package:source_gen/source_gen.dart' ;
78import 'package:dartstruct/dartstruct.dart' ;
89import './extensions/extensions.dart' ;
@@ -12,6 +13,7 @@ import 'models/output_source.dart';
1213class DartStructGenerator extends GeneratorForAnnotation <Mapper > {
1314 final _emitter = DartEmitter ();
1415 final _formatter = DartFormatter ();
16+ final _logger = Logger ('dartstruct' );
1517
1618 @override
1719 String generateForAnnotatedElement (Element element, ConstantReader annotation, BuildStep buildStep) {
@@ -148,8 +150,18 @@ class DartStructGenerator extends GeneratorForAnnotation<Mapper> {
148150 final mapperExpression = _getMapperExpression (setter, inputSource);
149151
150152 if (mapperExpression != null ) {
153+
151154 final assignmentExpression = refer (outputSource.name).nullSafeProperty (setter.displayName).assign (mapperExpression);
152155 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+
153165 }
154166
155167 }
@@ -169,11 +181,12 @@ class DartStructGenerator extends GeneratorForAnnotation<Mapper> {
169181
170182
171183 if (inputFieldElement? .type == outputField.type) {
172- return refer (inputSource.name).nullSafeProperty (fieldName);
184+ return refer (inputSource.name).nullSafeProperty (fieldName);
173185 }
174186
175187 return null ;
176188
189+
177190 }
178191
179192 /// generate expression `final {output} = {input} == null ? null : new {output}()`
0 commit comments