Implement quote::ToTokens for AST types

They were already implemented, just without the formalization ;)
This commit is contained in:
Nick Fitzgerald 2018-03-07 14:48:18 -08:00
parent 4c4d8dab26
commit c2e9a4b71e
2 changed files with 503 additions and 484 deletions

View File

@ -10,7 +10,7 @@ pub struct Program {
pub exports: Vec<Export>,
pub imports: Vec<Import>,
pub enums: Vec<Enum>,
pub imported_types: Vec<(syn::Visibility, syn::Ident)>,
pub imported_types: Vec<ImportedType>,
pub structs: Vec<Struct>,
}
@ -53,6 +53,11 @@ pub struct Enum {
pub variants: Vec<(syn::Ident, u32)>
}
pub struct ImportedType {
pub vis: syn::Visibility,
pub name: syn::Ident,
}
pub enum Type {
// special
Vector(VectorType, bool),
@ -323,7 +328,10 @@ impl Program {
pub fn push_foreign_ty(&mut self,
f: syn::ForeignItemType,
_module_opts: &BindgenAttrs) {
self.imported_types.push((f.vis, f.ident));
self.imported_types.push(ImportedType {
vis: f.vis,
name: f.ident
});
}
pub fn wbg_literal(&self, dst: &mut Tokens) -> usize {

File diff suppressed because it is too large Load Diff