From b57d075c07c30000d46b09062cd9e7328bcff1bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C5=BD=C3=A1ra?= Date: Fri, 3 Apr 2020 10:32:46 +0200 Subject: `deno doc` parses super-class names (#4595) Co-Authored-By: Luca Casonato --- cli/doc/class.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'cli/doc/class.rs') diff --git a/cli/doc/class.rs b/cli/doc/class.rs index 635fd585a..ddbefa55c 100644 --- a/cli/doc/class.rs +++ b/cli/doc/class.rs @@ -60,6 +60,7 @@ pub struct ClassDef { pub constructors: Vec, pub properties: Vec, pub methods: Vec, + pub super_class: Option, } fn prop_name_to_string( @@ -85,6 +86,18 @@ pub fn get_doc_for_class_decl( let mut methods = vec![]; let mut properties = vec![]; + let super_class: Option = match &class_decl.class.super_class { + Some(boxed) => { + use swc_ecma_ast::Expr; + let expr: &Expr = &**boxed; + match expr { + Expr::Ident(ident) => Some(ident.sym.to_string()), + _ => None, + } + } + None => None, + }; + for member in &class_decl.class.body { use swc_ecma_ast::ClassMember::*; @@ -198,6 +211,7 @@ pub fn get_doc_for_class_decl( let class_name = class_decl.ident.sym.to_string(); let class_def = ClassDef { is_abstract: class_decl.class.is_abstract, + super_class, constructors, properties, methods, -- cgit v1.2.3