google / google/built_value.dart

Generating serializers ignores import prefixes

Open
#680 3 comments 5 reactions 1 assignee Claimed by @davidmorgan View on GitHub
p2 / bug
Dominant language
Dart
Stars
886
Forks
195
Avg merge
1d 11h
Merged PRs (30d)
4

Description

Example would be ([gist](https://gist.github.com/audkar/c62efd0286cbb6a8b7a8e1d903089a3f)):
- two different libraries which contains identical class names (`ClassA`).
- both classes added to `@SerializersFor`
- one of them imported with prefix `prefix0`

So `serializers.dart` class looks like:
```
<...>
import 'class_a.dart';
import 'class_a_duplicate.dart' as prefix0;
<...>
@SerializersFor(const [
ClassA,
prefix0.ClassA,
])
final Serializers serializers = _$serializers;
```

But generated `serializers.g.dart` skips prefix:
```
Serializers _$serializers = (new Serializers().toBuilder()
..add(ClassA.serializer)
..add(ClassA.serializer)) // <--------------- THIS SHOULD BE ..add(prefix0.ClassA.serializer))
.build();
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.