Fix span placement on shared structs
diff --git a/syntax/mod.rs b/syntax/mod.rs
index 8247d19..f6bdf72 100644
--- a/syntax/mod.rs
+++ b/syntax/mod.rs
@@ -84,6 +84,7 @@
pub struct Struct {
pub doc: Doc,
pub derives: Vec<Derive>,
+ pub visibility: Token![pub],
pub struct_token: Token![struct],
pub name: Pair,
pub brace_token: Brace,
diff --git a/syntax/parse.rs b/syntax/parse.rs
index a178421..4bfabcd 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -117,6 +117,12 @@
});
}
+ let visibility = Token => vis.pub_token.span,
+ Visibility::Crate(vis) => vis.crate_token.span,
+ Visibility::Restricted(vis) => vis.pub_token.span,
+ Visibility::Inherited => item.ident.span(),
+ });
let struct_token = item.struct_token;
let name = pair(namespace, &item.ident, cxx_name, rust_name);
let brace_token = named_fields.brace_token;
@@ -124,6 +130,7 @@
Ok(Api::Struct(Struct {
doc,
derives,
+ visibility,
struct_token,
name,
brace_token,