Track span information of include statements
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 3184604..a354ae4 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -3,7 +3,9 @@
use crate::syntax::atom::Atom::{self, *};
use crate::syntax::namespace::Namespace;
use crate::syntax::symbol::Symbol;
-use crate::syntax::{mangle, Api, Enum, ExternFn, ExternType, Signature, Struct, Type, Types, Var};
+use crate::syntax::{
+ mangle, Api, Enum, ExternFn, ExternType, IncludeKind, Signature, Struct, Type, Types, Var,
+};
use proc_macro2::Ident;
use std::collections::HashMap;
@@ -24,7 +26,10 @@
out.include.extend(opt.include.clone());
for api in apis {
if let Api::Include(include) = api {
- out.include.insert(include);
+ match include.kind {
+ IncludeKind::Quoted => out.include.insert(&include.path),
+ IncludeKind::Bracketed => out.include.insert(format!("<{}>", include.path)),
+ }
}
}