Commit Graph

76 Commits

Author SHA1 Message Date
Ephraim Kunz
4b27b04ba4 Allow adding the 'text' attribute to Option<String> 2021-04-29 20:40:34 -07:00
Ephraim Kunz
269975d953 Use fully qualified method names to prevent collisions with serde derive macros 2021-02-05 19:26:54 -08:00
Jonas Platte
a1fc2f9fad
Revert parts of "Use absolute paths in generated code"
to restore compatibility with older versions of Rust.
2020-12-17 18:32:06 +01:00
Jonas Platte
c455f12d23
Drop unnecessary qualification of String outside of generated code 2020-12-17 17:50:16 +01:00
Jonas Platte
d3ee4112e3
Clean up visitor code generation 2020-12-17 17:50:16 +01:00
Jonas Platte
12ddcdbc87
Use absolute paths in generated code
With this, the derives should work with most of the crates and types
the generated code refers to being aliased.

Notably, methods are still mostly invoked using regular method syntax
so those coming from trait could still be aliased by outside code.
2020-12-17 17:50:16 +01:00
Jonas Platte
52fb60ec8b
Remove most extern crate statements from yaserde_derive
yaserde_derive is an edition 2018 crate, so these are not necessary.
2020-12-17 17:48:26 +01:00
Marc-Antoine Arnaud
fc5625a5e4 parse bool as defined in xs:boolean 2020-08-26 23:32:24 +02:00
marcelbuesing
701b92a2a4
Enforce std String in macros to avoid collisions 2020-08-03 20:28:53 +02:00
Scott Lamb
8a1e1e2e16 minor cleanup of element skipping
* "skipped" is unnecessary: it's always false at depth == 0,
  so its one use in "if depth == 0 && !skipped" can be removed.
* the element doesn't need a binding, and shadowing "named_element"
  confused me.
* remove old commented-out path that errored on unknown elements
2020-06-20 06:27:19 -07:00
Scott Lamb
c889461eef improve logging in deserialize path and tests
* Log the depth of elements as they're fetched
* Log the starting depth of structs/enums and their Rust symbol names
  (not just XML element names, which may differ significantly)
* Log every element in the struct/enum match loop at trace level.
* Log file/line numbers at a few key points in the tests.
  This is helpful in finding failures happen in some of the longer
  tests.

This logging helps me understand the data flow as I play with changes
for #76.
2020-06-20 06:27:19 -07:00
Marc-Antoine Arnaud
10f2be69be format code 2020-05-20 17:38:31 +02:00
Marc-Antoine Arnaud
0d2058ddb4 use heck to force camel case format on Visitor ident
issue #77
2020-05-20 16:58:55 +02:00
Marc-Antoine Arnaud
e2a2779f71 format code 2020-04-22 19:05:13 +02:00
Marc-Antoine Arnaud
975baabd76 remove root attribute, use rename 2020-04-22 19:04:43 +02:00
Marc-Antoine Arnaud
0872461c41 continue to refactor code using common Field structure 2020-04-22 18:18:11 +02:00
Marc-Antoine Arnaud
04ddaa29dc restructure code 2020-04-21 15:02:34 +02:00
Marc-Antoine Arnaud
856e271f7f support root flatten deserialization 2020-04-19 10:57:40 +02:00
Marc-Antoine Arnaud
2c632fe0ee Merge branch 'master' of github.com:media-io/yaserde into fix_default_namespace_prefix 2020-04-06 14:42:33 +02:00
Marc-Antoine Arnaud
a93d70831f use rust 2018 syntax, remove unused headers 2020-04-06 14:04:12 +02:00
Dmitry Samoylov
39185ffd03 Fix issue #51 2020-04-06 18:55:59 +07:00
Dmitry Samoylov
d262bc998f Refactor reader 2020-04-06 18:12:17 +07:00
Dgame
c05e822865 Added explicit use log::debug 2020-03-29 20:36:30 +02:00
Dmitry Samoylov
b3d9ea0744 Fix issue 12 for attributes 2020-03-24 17:39:33 +07:00
Dmitry Samoylov
4aadc78fc1 Fix (de)serialization for elements with nested namespaces 2020-02-18 15:56:09 +07:00
Marc-Antoine ARNAUD
c15e289fec
Merge pull request #40 from DmitrySamoylov/refactoring
Refactoring
2020-02-16 11:25:25 +01:00
Dmitry Samoylov
1f3de44a98 Add skipping of unrecognized elements (fixes #12) 2020-02-13 19:34:47 +07:00
Dmitry Samoylov
476fd3790e Put struct and simple_type visitors close to each other 2020-02-12 19:38:02 +07:00
Dmitry Samoylov
3e08dee3f4 Simplify de visitor generation 2020-02-12 18:37:42 +07:00
Dmitry Samoylov
cad7f88c4e Add support for Option<struct> in 'attribute' fields 2020-02-12 15:45:30 +07:00
Dmitry Samoylov
cc7cf76a45 Implement flatten (de) 2020-02-06 15:50:35 +07:00
Dmitry Samoylov
f9e8d91590 Use actual spans instead of Span::call_site() 2020-02-04 19:56:22 +07:00
Dmitry Samoylov
65838ced80 Reduce code duplication when handling simple types 2020-02-04 19:08:05 +07:00
Dmitry Samoylov
5a0f0e55a7 Remove unneeded Option's and unsafe's 2020-02-04 17:50:16 +07:00
Dmitry Samoylov
703a238d02 Simplify tokenstream folding 2020-02-04 17:47:14 +07:00
Dmitry Samoylov
688ab0b160 Fix compilation errors when element name contains dots 2020-02-04 15:18:09 +07:00
superuzir
8079f00415 Fix more clippy warnings 2019-12-31 14:58:28 +07:00
Dmitry Samoylov
85f461573b Allow struct fields be named as 'name' (issue #21) 2019-12-10 13:16:28 +07:00
Dmitry Samoylov
5a81a5add8 Fix formatting 2019-12-05 14:29:20 +07:00
Dmitry Samoylov
ab03d32cfb Add support for field types with multiple PathSegment's 2019-12-04 20:52:21 +07:00
Marc-Antoine Arnaud
2b701262ac fix clippy feedbacks and format code 2019-10-08 10:19:50 +02:00
Marc-Antoine Arnaud
29e6736d8d format code 2019-10-08 09:04:29 +02:00
Marc-Antoine Arnaud
ae3f873d69 fix check namespace 2018-12-29 14:13:50 +01:00
Marc-Antoine Arnaud
7255e85925 improve error message for incorrect namespace item 2018-12-21 14:04:21 +01:00
Marc-Antoine Arnaud
28c13f5861 skip serialization if value equals to default 2018-12-07 10:21:59 +01:00
Marc-Antoine Arnaud
402b6fe421 update default support for all types 2018-12-06 08:57:05 +01:00
Marc-Antoine Arnaud
bd4bd3f495 deserialize with default
issue #9
2018-12-06 00:21:54 +01:00
Marc-Antoine Arnaud
461b30b03c be able to use Option of struct and String 2018-11-20 12:48:26 +01:00
Marc-Antoine Arnaud
dca18e2f82 update clippy and fix error messages 2018-11-05 17:30:21 +01:00
Marc-Antoine Arnaud
69a54eebcf format code 2018-11-05 17:17:27 +01:00