google / google/built_value.dart

SerializerBuilder / BuiltList - generated code contains duplicated builder factories

Open
#1,160 3 comments 0 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

Hi

If I have multiple models with a list of types or nullable types, it creates things like this:
```dart

// **************************************************************************
// BuiltValueGenerator
// **************************************************************************

Serializers _$serializers = ...
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(int)]),
() => new ListBuilder())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(int)]),
() => new ListBuilder())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(int)]),
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(String)]),
() => new ListBuilder())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType.nullable(int)]),
() => new ListBuilder())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType.nullable(int)]),
() => new ListBuilder())
..addBuilderFactory(
const FullType(BuiltList, const [const FullType(String)]),
() => new ListBuilder())
```

If you check the `BuiltList`, `BuiltList` and `BuiltList` serializers are duplicated:
![image](https://user-images.githubusercontent.com/76348/172955628-1031d903-9eae-42a6-b7aa-8dafa3387ad9.png)

# Environment:
- `built_value_generator: 8.3.2`
- `build_runner: 2.1.5`
- `built_value: 8.3.2`
- `built_collection: 5.1.1`

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.