Rename RustName -> NamedType
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 781d8b2..96592b3 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -8,7 +8,7 @@
use crate::syntax::symbol::Symbol;
use crate::syntax::trivial::{self, TrivialReason};
use crate::syntax::{
- derive, mangle, Api, Enum, ExternFn, ExternType, Pair, RustName, Signature, Struct, Trait,
+ derive, mangle, Api, Enum, ExternFn, ExternType, NamedType, Pair, Signature, Struct, Trait,
Type, TypeAlias, Types, Var,
};
use proc_macro2::Ident;
@@ -1284,15 +1284,15 @@
#[derive(Copy, Clone)]
enum UniquePtr<'a> {
- Ident(&'a RustName),
- CxxVector(&'a RustName),
+ Ident(&'a NamedType),
+ CxxVector(&'a NamedType),
}
trait ToTypename {
fn to_typename(&self, types: &Types) -> String;
}
-impl ToTypename for RustName {
+impl ToTypename for NamedType {
fn to_typename(&self, types: &Types) -> String {
types.resolve(self).to_fully_qualified()
}
@@ -1313,7 +1313,7 @@
fn to_mangled(&self, types: &Types) -> Symbol;
}
-impl ToMangled for RustName {
+impl ToMangled for NamedType {
fn to_mangled(&self, types: &Types) -> Symbol {
types.resolve(self).to_symbol()
}
@@ -1457,7 +1457,7 @@
);
}
-fn write_rust_vec_extern(out: &mut OutFile, element: &RustName) {
+fn write_rust_vec_extern(out: &mut OutFile, element: &NamedType) {
let inner = element.to_typename(out.types);
let instance = element.to_mangled(out.types);
@@ -1531,7 +1531,7 @@
writeln!(out, "}}");
}
-fn write_rust_vec_impl(out: &mut OutFile, element: &RustName) {
+fn write_rust_vec_impl(out: &mut OutFile, element: &NamedType) {
let inner = element.to_typename(out.types);
let instance = element.to_mangled(out.types);
@@ -1608,7 +1608,7 @@
writeln!(out, "}}");
}
-fn write_unique_ptr(out: &mut OutFile, ident: &RustName) {
+fn write_unique_ptr(out: &mut OutFile, ident: &NamedType) {
let ty = UniquePtr::Ident(ident);
write_unique_ptr_common(out, ty);
}
@@ -1725,7 +1725,7 @@
writeln!(out, "}}");
}
-fn write_shared_ptr(out: &mut OutFile, ident: &RustName) {
+fn write_shared_ptr(out: &mut OutFile, ident: &NamedType) {
let resolve = out.types.resolve(ident);
let inner = resolve.to_fully_qualified();
let instance = resolve.to_symbol();
@@ -1797,7 +1797,7 @@
writeln!(out, "}}");
}
-fn write_weak_ptr(out: &mut OutFile, ident: &RustName) {
+fn write_weak_ptr(out: &mut OutFile, ident: &NamedType) {
let resolve = out.types.resolve(ident);
let inner = resolve.to_fully_qualified();
let instance = resolve.to_symbol();
@@ -1856,7 +1856,7 @@
writeln!(out, "}}");
}
-fn write_cxx_vector(out: &mut OutFile, element: &RustName) {
+fn write_cxx_vector(out: &mut OutFile, element: &NamedType) {
let inner = element.to_typename(out.types);
let instance = element.to_mangled(out.types);
diff --git a/macro/src/expand.rs b/macro/src/expand.rs
index 9cbb2c3..4e1b7fa 100644
--- a/macro/src/expand.rs
+++ b/macro/src/expand.rs
@@ -5,7 +5,7 @@
use crate::syntax::report::Errors;
use crate::syntax::symbol::Symbol;
use crate::syntax::{
- self, check, mangle, Api, Doc, Enum, ExternFn, ExternType, Impl, Pair, RustName, Signature,
+ self, check, mangle, Api, Doc, Enum, ExternFn, ExternType, Impl, NamedType, Pair, Signature,
Struct, Trait, Type, TypeAlias, Types,
};
use proc_macro2::{Ident, Span, TokenStream};
@@ -1071,7 +1071,7 @@
}
}
-fn expand_rust_box(ident: &RustName, types: &Types) -> TokenStream {
+fn expand_rust_box(ident: &NamedType, types: &Types) -> TokenStream {
let resolve = types.resolve(ident);
let link_prefix = format!("cxxbridge1$box${}$", resolve.to_symbol());
let link_alloc = format!("{}alloc", link_prefix);
@@ -1105,7 +1105,7 @@
}
}
-fn expand_rust_vec(elem: &RustName, types: &Types) -> TokenStream {
+fn expand_rust_vec(elem: &NamedType, types: &Types) -> TokenStream {
let resolve = types.resolve(elem);
let link_prefix = format!("cxxbridge1$rust_vec${}$", resolve.to_symbol());
let link_new = format!("{}new", link_prefix);
@@ -1167,7 +1167,11 @@
}
}
-fn expand_unique_ptr(ident: &RustName, types: &Types, explicit_impl: Option<&Impl>) -> TokenStream {
+fn expand_unique_ptr(
+ ident: &NamedType,
+ types: &Types,
+ explicit_impl: Option<&Impl>,
+) -> TokenStream {
let name = ident.rust.to_string();
let resolve = types.resolve(ident);
let prefix = format!("cxxbridge1$unique_ptr${}$", resolve.to_symbol());
@@ -1249,7 +1253,11 @@
}
}
-fn expand_shared_ptr(ident: &RustName, types: &Types, explicit_impl: Option<&Impl>) -> TokenStream {
+fn expand_shared_ptr(
+ ident: &NamedType,
+ types: &Types,
+ explicit_impl: Option<&Impl>,
+) -> TokenStream {
let name = ident.rust.to_string();
let resolve = types.resolve(ident);
let prefix = format!("cxxbridge1$shared_ptr${}$", resolve.to_symbol());
@@ -1317,7 +1325,7 @@
}
}
-fn expand_weak_ptr(ident: &RustName, types: &Types, explicit_impl: Option<&Impl>) -> TokenStream {
+fn expand_weak_ptr(ident: &NamedType, types: &Types, explicit_impl: Option<&Impl>) -> TokenStream {
let name = ident.rust.to_string();
let resolve = types.resolve(ident);
let prefix = format!("cxxbridge1$weak_ptr${}$", resolve.to_symbol());
@@ -1374,7 +1382,7 @@
}
}
-fn expand_cxx_vector(elem: &RustName, explicit_impl: Option<&Impl>, types: &Types) -> TokenStream {
+fn expand_cxx_vector(elem: &NamedType, explicit_impl: Option<&Impl>, types: &Types) -> TokenStream {
let name = elem.rust.to_string();
let resolve = types.resolve(elem);
let prefix = format!("cxxbridge1$std$vector${}$", resolve.to_symbol());
diff --git a/syntax/check.rs b/syntax/check.rs
index 42e92f4..44be4dc 100644
--- a/syntax/check.rs
+++ b/syntax/check.rs
@@ -1,8 +1,8 @@
use crate::syntax::atom::Atom::{self, *};
use crate::syntax::report::Errors;
use crate::syntax::{
- error, ident, trivial, Api, Array, Enum, ExternFn, ExternType, Impl, Lang, Receiver, Ref,
- RustName, Signature, SliceRef, Struct, Trait, Ty1, Type, TypeAlias, Types,
+ error, ident, trivial, Api, Array, Enum, ExternFn, ExternType, Impl, Lang, NamedType, Receiver,
+ Ref, Signature, SliceRef, Struct, Trait, Ty1, Type, TypeAlias, Types,
};
use proc_macro2::{Delimiter, Group, Ident, TokenStream};
use quote::{quote, ToTokens};
@@ -61,7 +61,7 @@
}
}
-fn check_type_ident(cx: &mut Check, name: &RustName) {
+fn check_type_ident(cx: &mut Check, name: &NamedType) {
let ident = &name.rust;
if Atom::from(ident).is_none()
&& !cx.types.structs.contains_key(ident)
diff --git a/syntax/mod.rs b/syntax/mod.rs
index 96169e8..3a77b82 100644
--- a/syntax/mod.rs
+++ b/syntax/mod.rs
@@ -176,7 +176,7 @@
pub lifetime: Option<Lifetime>,
pub mutable: bool,
pub var: Token![self],
- pub ty: RustName,
+ pub ty: NamedType,
pub shorthand: bool,
pub pin_tokens: Option<(kw::Pin, Token![<], Token![>])>,
pub mutability: Option<Token![mut]>,
@@ -191,7 +191,7 @@
}
pub enum Type {
- Ident(RustName),
+ Ident(NamedType),
RustBox(Box<Ty1>),
RustVec(Box<Ty1>),
UniquePtr(Box<Ty1>),
@@ -258,7 +258,7 @@
// Wrapper for a type which needs to be resolved before it can be printed in
// C++.
#[derive(PartialEq, Eq, Hash)]
-pub struct RustName {
+pub struct NamedType {
pub rust: Ident,
pub generics: Lifetimes,
}
diff --git a/syntax/names.rs b/syntax/names.rs
index d818f86..c4cbcff 100644
--- a/syntax/names.rs
+++ b/syntax/names.rs
@@ -1,4 +1,4 @@
-use crate::syntax::{Lifetimes, Pair, RustName, Symbol};
+use crate::syntax::{Lifetimes, NamedType, Pair, Symbol};
use proc_macro2::{Ident, Span};
use std::iter;
use syn::punctuated::Punctuated;
@@ -22,14 +22,14 @@
}
}
-impl RustName {
+impl NamedType {
pub fn new(rust: Ident) -> Self {
let generics = Lifetimes {
lt_token: None,
lifetimes: Punctuated::new(),
gt_token: None,
};
- RustName { rust, generics }
+ NamedType { rust, generics }
}
pub fn span(&self) -> Span {
diff --git a/syntax/parse.rs b/syntax/parse.rs
index 07fbf4a..b36bcbf 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -5,7 +5,7 @@
use crate::syntax::Atom::*;
use crate::syntax::{
attrs, error, Api, Array, Derive, Doc, Enum, ExternFn, ExternType, Impl, Include, IncludeKind,
- Lang, Lifetimes, Namespace, Pair, Receiver, Ref, RustName, Signature, SliceRef, Struct, Ty1,
+ Lang, Lifetimes, NamedType, Namespace, Pair, Receiver, Ref, Signature, SliceRef, Struct, Ty1,
Type, TypeAlias, Var, Variant,
};
use proc_macro2::{Delimiter, Group, Span, TokenStream, TokenTree};
@@ -201,7 +201,7 @@
let name = pair(namespace, &item.ident, cxx_name, rust_name);
let repr_ident = Ident::new(repr.as_ref(), Span::call_site());
- let repr_type = Type::Ident(RustName::new(repr_ident));
+ let repr_type = Type::Ident(NamedType::new(repr_ident));
Ok(Api::Enum(Enum {
doc,
@@ -519,7 +519,7 @@
lifetime: lifetime.clone(),
mutable: arg.mutability.is_some(),
var: arg.self_token,
- ty: RustName::new(Ident::new("Self", arg.self_token.span)),
+ ty: NamedType::new(Ident::new("Self", arg.self_token.span)),
shorthand: true,
pin_tokens: None,
mutability: arg.mutability,
@@ -1007,7 +1007,7 @@
let segment = &path.segments[0];
let ident = segment.ident.clone();
match &segment.arguments {
- PathArguments::None => return Ok(Type::Ident(RustName::new(ident))),
+ PathArguments::None => return Ok(Type::Ident(NamedType::new(ident))),
PathArguments::AngleBracketed(generic) => {
if ident == "UniquePtr" && generic.args.len() == 1 {
if let GenericArgument::Type(arg) = &generic.args[0] {
@@ -1096,7 +1096,7 @@
}
}
if only_lifetimes {
- return Ok(Type::Ident(RustName {
+ return Ok(Type::Ident(NamedType {
rust: ident,
generics: Lifetimes {
lt_token: Some(generic.lt_token),
diff --git a/syntax/tokens.rs b/syntax/tokens.rs
index dd5be01..df0b702 100644
--- a/syntax/tokens.rs
+++ b/syntax/tokens.rs
@@ -1,6 +1,6 @@
use crate::syntax::atom::Atom::*;
use crate::syntax::{
- Array, Atom, Derive, Enum, ExternFn, ExternType, Impl, Lifetimes, Receiver, Ref, RustName,
+ Array, Atom, Derive, Enum, ExternFn, ExternType, Impl, Lifetimes, NamedType, Receiver, Ref,
Signature, SliceRef, Struct, Ty1, Type, TypeAlias, Var,
};
use proc_macro2::{Ident, Span, TokenStream};
@@ -256,9 +256,9 @@
}
}
-impl ToTokens for RustName {
+impl ToTokens for NamedType {
fn to_tokens(&self, tokens: &mut TokenStream) {
- let RustName { rust, generics } = self;
+ let NamedType { rust, generics } = self;
rust.to_tokens(tokens);
generics.to_tokens(tokens);
}
diff --git a/syntax/trivial.rs b/syntax/trivial.rs
index b7ba4f9..fe95e2b 100644
--- a/syntax/trivial.rs
+++ b/syntax/trivial.rs
@@ -1,6 +1,6 @@
use crate::syntax::map::UnorderedMap;
use crate::syntax::set::{OrderedSet as Set, UnorderedSet};
-use crate::syntax::{Api, Enum, ExternFn, Pair, RustName, Struct, Type};
+use crate::syntax::{Api, Enum, ExternFn, NamedType, Pair, Struct, Type};
use proc_macro2::Ident;
use std::fmt::{self, Display};
@@ -23,7 +23,7 @@
) -> UnorderedMap<&'a Ident, Vec<TrivialReason<'a>>> {
let mut required_trivial = UnorderedMap::new();
- let mut insist_extern_types_are_trivial = |ident: &'a RustName, reason| {
+ let mut insist_extern_types_are_trivial = |ident: &'a NamedType, reason| {
if cxx.contains(&ident.rust)
&& !structs.contains_key(&ident.rust)
&& !enums.contains_key(&ident.rust)
diff --git a/syntax/types.rs b/syntax/types.rs
index 7a45939..54cd8f0 100644
--- a/syntax/types.rs
+++ b/syntax/types.rs
@@ -5,7 +5,7 @@
use crate::syntax::set::{OrderedSet as Set, UnorderedSet};
use crate::syntax::trivial::{self, TrivialReason};
use crate::syntax::{
- toposort, Api, Enum, ExternType, Impl, Pair, RustName, Struct, Type, TypeAlias,
+ toposort, Api, Enum, ExternType, Impl, NamedType, Pair, Struct, Type, TypeAlias,
};
use proc_macro2::Ident;
use quote::ToTokens;
@@ -240,7 +240,7 @@
}
}
- pub fn resolve(&self, ident: &RustName) -> &Pair {
+ pub fn resolve(&self, ident: &NamedType) -> &Pair {
self.resolutions
.get(&ident.rust)
.expect("Unable to resolve type")