toJson method
转换为易读的JSON对象
Implementation
@override
Map<String, dynamic> toJson() {
final map = <String, dynamic>{
'toString': toString(),
'identifier': identifier,
'metaType': metaType.toString(),
'metaData': metaType == VmMetaType.internalApply
? {
'isIniter': metaData.isIniter,
'isStatic': metaData.isStatic,
'isGetter': metaData.isGetter,
'isSetter': metaData.isSetter,
'listArguments': '[${metaData.listArguments.map((e) => '${e.isClassField ? 'this.' : (e.isSuperField ? 'super.' : '')}${e.fieldName}${e.fieldValue == null ? '' : ' = ${e.getValue()}'}').join(', ')}]',
'nameArguments': '{${metaData.nameArguments.map((e) => '${e.isClassField ? 'this.' : (e.isSuperField ? 'super.' : '')}${e.fieldName}${e.fieldValue == null ? '' : ' = ${e.getValue()}'}').join(', ')}}',
'initTree': metaData.initTree.map((e) => e?.keys.map((e) => e.toString()).toList()).toList(),
'bodyTree': '{${metaData.bodyTree.keys.map((e) => e.toString()).join(', ')}}',
'staticListener': metaData.staticListener != null,
'instanceListener': metaData.instanceListener != null,
}
: metaData.toString(),
};
map['_valueType'] = _valueType.toString();
map['_valueData'] = _valueData is VmValue ? _valueData : _valueData?.toString();
if (_staticScope != null) map['_staticScope'] = _staticScope?.toString();
if (_staticScope != null) map['_instanceScope'] = _instanceScope?.toString();
return map;
}