json_serializable.dart
json_serializable.dart copied to clipboard
Cannot populate the required constructor argument: elementInfo. It is assigned to a field not meant to be used in fromJson.
Hi,
So I guess my issue coz of some generics that I used I am wondering if there is some work around.
So in general I have a Tree
, TreeElement
, and ElementInfo
class DataTree implements Tree<TreeElement, Element> {
late TreeElement _root;
...
}
class TreeElement<T extends InternalElementTreeInfo> implements TreeNode {
T _elementInfo;
TreeElement({ required T elementInfo }) : _elementInfo = elementInfo; <-- This is line 18
on dart run build_runner build --delete-conflicting-outputs
I got the following error:
Cannot populate the required constructor argument: elementInfo. It is assigned to a field not meant to be used in fromJson. package:pendo_sdk/src/tree/tree_element.dart:18:3
Must admit I dont really understand the error, any suggestion of how I can overcome it?
ok adding
TreeElement._() : _elementInfo = ElementInfo.rootElementInfo() as T;
and using
@JsonSerializable(explicitToJson: true, constructor: '_')
seems like generates without errors
Strange the generation seem fine but when I run my package in the app I get the following error:
Error: Method not found: '_$DataTree'.