X-Git-Url: http://nitlanguage.org diff --git a/contrib/neo_doxygen/src/doxml/memberdef.nit b/contrib/neo_doxygen/src/doxml/memberdef.nit index 57d95b9..5249404 100644 --- a/contrib/neo_doxygen/src/doxml/memberdef.nit +++ b/contrib/neo_doxygen/src/doxml/memberdef.nit @@ -24,8 +24,13 @@ class MemberDefListener # The current member. var member: Member is writable, noinit + private var type_listener: TypeListener is noinit + private var param_listener: MemberParamListener is noinit + init do super + type_listener = new TypeListener(reader, self) + param_listener = new MemberParamListener(reader, self) end redef fun entity do return member @@ -36,22 +41,30 @@ class MemberDefListener else if "reimplements" == local_name then member.reimplement(get_required(atts, "refid")) else if "type" == local_name then - text.listen_until(dox_uri, local_name) - # TODO links + type_listener.listen_until(dox_uri, local_name) + else if "param" == local_name then + param_listener.listen_until(dox_uri, local_name) else super end end redef fun end_dox_element(local_name: String) do - if "memberdef" == local_name then - member.put_in_graph - else if "name" == local_name then + if "name" == local_name then member.name = text.to_s else if "type" == local_name then - # TODO + source_language.apply_member_type(member, type_listener.linked_text) + else if "param" == local_name then + member.add_parameter(param_listener.parameter) else super end end end + +# Processes the content of a `` element in a `` element. +class MemberParamListener + super ParamListener[MemberParameter] + + redef fun create_parameter do return new MemberParameter(graph) +end