From f67d929c24babc302eb2807251fc09b084abac2e Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Wed, 9 Mar 2022 18:38:00 -0500 Subject: Initial support for documentation extraction in C++ (#2156) * #include an absolute path didn't work - because paths were taken to always be relative. * Split doc extractor such that can be used in C++ extractor. * Compiles. Update the stdlib docs. * Fix issue on release builds. * Add support for extracting documentation to C++ extractor. * Dump out markup. Make enum value backing type take tokens. * Node::Type -> Node::Kind * More improvements around Node::Type -> Node::Kind --- source/slang/slang-doc-markdown-writer.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'source/slang/slang-doc-markdown-writer.cpp') diff --git a/source/slang/slang-doc-markdown-writer.cpp b/source/slang/slang-doc-markdown-writer.cpp index 2a1226bb7..4d8afd763 100644 --- a/source/slang/slang-doc-markdown-writer.cpp +++ b/source/slang/slang-doc-markdown-writer.cpp @@ -128,7 +128,7 @@ String DocMarkdownWriter::_getName(InheritanceDecl* decl) return buf.ProduceString(); } -DocMarkdownWriter::NameAndText DocMarkdownWriter::_getNameAndText(DocMarkup::Entry* entry, Decl* decl) +DocMarkdownWriter::NameAndText DocMarkdownWriter::_getNameAndText(ASTMarkup::Entry* entry, Decl* decl) { NameAndText nameAndText; @@ -146,7 +146,7 @@ DocMarkdownWriter::NameAndText DocMarkdownWriter::_getNameAndText(DocMarkup::Ent DocMarkdownWriter::NameAndText DocMarkdownWriter::_getNameAndText(Decl* decl) { - DocMarkup::Entry* entry = m_markup->getEntry(decl); + ASTMarkup::Entry* entry = m_markup->getEntry(decl); return _getNameAndText(entry, decl); } @@ -242,7 +242,7 @@ void DocMarkdownWriter::_appendCommaList(const List& strings, char wrapC } } -void DocMarkdownWriter::writeVar(const DocMarkup::Entry& entry, VarDecl* varDecl) +void DocMarkdownWriter::writeVar(const ASTMarkup::Entry& entry, VarDecl* varDecl) { writePreamble(entry); auto& out = m_builder; @@ -680,7 +680,7 @@ static bool _isFirstOverridden(Decl* decl) return false; } -void DocMarkdownWriter::writeCallableOverridable(const DocMarkup::Entry& entry, CallableDecl* callableDecl) +void DocMarkdownWriter::writeCallableOverridable(const ASTMarkup::Entry& entry, CallableDecl* callableDecl) { auto& out = m_builder; @@ -843,7 +843,7 @@ void DocMarkdownWriter::writeCallableOverridable(const DocMarkup::Entry& entry, } } -void DocMarkdownWriter::writeEnum(const DocMarkup::Entry& entry, EnumDecl* enumDecl) +void DocMarkdownWriter::writeEnum(const ASTMarkup::Entry& entry, EnumDecl* enumDecl) { writePreamble(entry); @@ -963,7 +963,7 @@ void DocMarkdownWriter::_appendAggTypeName(AggTypeDeclBase* aggTypeDecl) } } -void DocMarkdownWriter::writeAggType(const DocMarkup::Entry& entry, AggTypeDeclBase* aggTypeDecl) +void DocMarkdownWriter::writeAggType(const ASTMarkup::Entry& entry, AggTypeDeclBase* aggTypeDecl) { writePreamble(entry); @@ -1005,7 +1005,7 @@ void DocMarkdownWriter::writeAggType(const DocMarkup::Entry& entry, AggTypeDeclB out << "* _" << assocTypeDecl->getName()->text << "_ "; // Look up markup - DocMarkup::Entry* assocTypeDeclEntry = m_markup->getEntry(assocTypeDecl); + ASTMarkup::Entry* assocTypeDeclEntry = m_markup->getEntry(assocTypeDecl); if (assocTypeDeclEntry) { _appendAsSingleLine(assocTypeDeclEntry->m_markup.getUnownedSlice(), out); @@ -1086,7 +1086,7 @@ void DocMarkdownWriter::writeAggType(const DocMarkup::Entry& entry, AggTypeDeclB } } -void DocMarkdownWriter::writePreamble(const DocMarkup::Entry& entry) +void DocMarkdownWriter::writePreamble(const ASTMarkup::Entry& entry) { SLANG_UNUSED(entry); auto& out = m_builder; @@ -1097,7 +1097,7 @@ void DocMarkdownWriter::writePreamble(const DocMarkup::Entry& entry) out << toSlice("\n"); } -void DocMarkdownWriter::writeDescription(const DocMarkup::Entry& entry) +void DocMarkdownWriter::writeDescription(const ASTMarkup::Entry& entry) { auto& out = m_builder; @@ -1117,7 +1117,7 @@ void DocMarkdownWriter::writeDescription(const DocMarkup::Entry& entry) } } -void DocMarkdownWriter::writeDecl(const DocMarkup::Entry& entry, Decl* decl) +void DocMarkdownWriter::writeDecl(const ASTMarkup::Entry& entry, Decl* decl) { // Skip these they will be output as part of their respective 'containers' if (as(decl) || as(decl) || as(decl) || as(decl)) @@ -1161,7 +1161,7 @@ bool DocMarkdownWriter::isVisible(const Name* name) return name == nullptr || !name->text.startsWith(toSlice("__")); } -bool DocMarkdownWriter::isVisible(const DocMarkup::Entry& entry) +bool DocMarkdownWriter::isVisible(const ASTMarkup::Entry& entry) { // For now if it's not public it's not visible if (entry.m_visibility != MarkupVisibility::Public) -- cgit v1.2.3