Skip to content

Commit 0326cde

Browse files
committed
warning on unmapped field
1 parent 6f6c46a commit 0326cde

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

generator/lib/src/dartstruct_generator.dart

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import 'package:build/src/builder/build_step.dart';
33
import 'package:code_builder/code_builder.dart';
44
import 'package:dart_style/dart_style.dart';
55
import 'package:dartstruct_generator/src/name_provider.dart';
6+
import 'package:logging/logging.dart';
67
import 'package:source_gen/source_gen.dart';
78
import 'package:dartstruct/dartstruct.dart';
89
import './extensions/extensions.dart';
@@ -12,6 +13,7 @@ import 'models/output_source.dart';
1213
class 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

Comments
 (0)