From de896baff7e97fac4dde79078c9a2fa1c652576b Mon Sep 17 00:00:00 2001 From: Minijackson Date: Wed, 18 Dec 2019 20:56:53 +0100 Subject: Big refactoring - entities should be more coherent when parsing multiple files - well defined, language agnostic entity tree - each module has its own configuration - less dead code --- src/doxygen/builders.rs | 109 ------------------------------------------------ 1 file changed, 109 deletions(-) delete mode 100644 src/doxygen/builders.rs (limited to 'src/doxygen') diff --git a/src/doxygen/builders.rs b/src/doxygen/builders.rs deleted file mode 100644 index 9b60325..0000000 --- a/src/doxygen/builders.rs +++ /dev/null @@ -1,109 +0,0 @@ -use super::*; - -pub(super) fn builder_for(doxygen_kind: String) -> Box { - match doxygen_kind.as_str() { - "namespace" => Box::new(NameSpaceBuilder::default()), - "class" | "struct" => Box::new(ClassBuilder::default()), - _ => Box::new(UnhandledBuilder), - } -} - -#[derive(Debug, Default)] -struct NameSpaceBuilder { - name: Option, - members: Vec, - brief_description: Option, - detailed_description: Option, -} - -impl TypeBuilder for NameSpaceBuilder { - fn build(self: Box) -> DoxygenType { - let name = self.name.unwrap(); - - DoxygenType::NameSpace(NameSpace { - name, - members: self.members, - brief_description: self.brief_description.unwrap(), - detailed_description: self.detailed_description.unwrap(), - }) - } - - fn name(&mut self, value: String) { - self.name = Some(value); - } - - fn add_inner(&mut self, name: String, kind: String) { - self.members.push(name); - } - - fn add_member(&mut self, _section: String, _member: Member) { - panic!("Adding member in namespace?"); - } - - fn brief_description(&mut self, description: Description) { - self.brief_description = Some(description); - } - - fn detailed_description(&mut self, description: Description) { - self.brief_description = Some(description); - } -} - -#[derive(Debug, Default)] -struct UnhandledBuilder; - -impl TypeBuilder for UnhandledBuilder { - fn build(self: Box) -> DoxygenType { - DoxygenType::Unhandled - } - - fn name(&mut self, _value: String) {} - - fn add_inner(&mut self, _name: String, _kind: String) {} - fn add_member(&mut self, _section: String, _member: Member) {} - fn brief_description(&mut self, _description: Description) {} - fn detailed_description(&mut self, _description: Description) {} -} - -#[derive(Debug, Default)] -struct ClassBuilder { - name: Option, - inners: Vec<(String, String)>, - sections: HashMap>, - brief_description: Option, - detailed_description: Option, -} - -impl TypeBuilder for ClassBuilder { - fn build(self: Box) -> DoxygenType { - let name = self.name.unwrap(); - - DoxygenType::Class(Class { - name, - inners: self.inners, - sections: self.sections, - brief_description: self.brief_description.unwrap_or(Description::new()), - detailed_description: self.detailed_description.unwrap_or(Description::new()), - }) - } - - fn name(&mut self, value: String) { - self.name = Some(value); - } - - fn add_inner(&mut self, name: String, kind: String) { - self.inners.push((name, kind)); - } - - fn add_member(&mut self, section: String, member: Member) { - self.sections.entry(section).or_default().push(member); - } - - fn brief_description(&mut self, description: Description) { - self.brief_description = Some(description); - } - - fn detailed_description(&mut self, description: Description) { - self.brief_description = Some(description); - } -} -- cgit v1.2.3