blob: b79c38f902daf35e56a2181892af616951a245e0 [file] [log] [blame]
David Tolnay90b133b2020-11-01 22:53:37 -08001use crate::syntax::namespace::Namespace;
2use crate::syntax::Api;
3
4impl Api {
5 pub fn namespace(&self) -> &Namespace {
6 match self {
David Tolnay17a934c2020-11-02 00:40:04 -08007 Api::CxxFunction(efn) | Api::RustFunction(efn) => &efn.name.namespace,
8 Api::CxxType(ety) | Api::RustType(ety) => &ety.name.namespace,
9 Api::Enum(enm) => &enm.name.namespace,
10 Api::Struct(strct) => &strct.name.namespace,
David Tolnay90b133b2020-11-01 22:53:37 -080011 Api::Impl(_) | Api::Include(_) | Api::TypeAlias(_) => Default::default(),
12 }
13 }
14}