diff options
| author | ArielG-NV <159081215+ArielG-NV@users.noreply.github.com> | 2024-08-20 20:55:46 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-20 17:55:46 -0700 |
| commit | bcb53910875e787773e7b60f31ded3afba3aa843 (patch) | |
| tree | 8129e44bd6e8a06cee1e9b6d073252d7d17353b2 | |
| parent | 6b1b2432060944cb1d812d3afffac65e2b8b9d1d (diff) | |
Exclude synthesized code from code auto documentation system (#4889)
* Exclude synthesized code from code auto documentation system
Fixes #4888
Changes to exclude synthesized code from code-auto-documentation system
* syntax change for cleanup
| -rw-r--r-- | source/slang/slang-doc-ast.cpp | 10 | ||||
| -rw-r--r-- | source/slang/slang-doc-ast.h | 4 | ||||
| -rw-r--r-- | source/slang/slang-doc-markdown-writer.cpp | 2 |
3 files changed, 14 insertions, 2 deletions
diff --git a/source/slang/slang-doc-ast.cpp b/source/slang/slang-doc-ast.cpp index 172f31b32..4d35f32be 100644 --- a/source/slang/slang-doc-ast.cpp +++ b/source/slang/slang-doc-ast.cpp @@ -3,6 +3,7 @@ #include "../core/slang-string-util.h" +#include "slang/slang-ast-support-types.h" //#include "slang-ast-builder.h" //#include "slang-ast-print.h" @@ -47,9 +48,14 @@ namespace Slang { } } +bool shouldDocumentDecl(Decl* decl) +{ + return !getText(decl->getName()).startsWith("$__syn") && !decl->hasModifier<SynthesizedModifier>(); +} + static void _addDeclRec(Decl* decl, List<Decl*>& outDecls) { - if (decl == nullptr) + if (decl == nullptr || !shouldDocumentDecl(decl)) { return; } @@ -109,7 +115,7 @@ SlangResult ASTMarkupUtil::extract(ModuleDecl* moduleDecl, SourceManager* source item.searchStyle = getSearchStyle(decl); // Don't generate documentation for synthesized members. - if (getText(decl->getName()).startsWith("$__syn")) + if (!shouldDocumentDecl(decl)) item.searchStyle = DocMarkupExtractor::SearchStyle::None; } diff --git a/source/slang/slang-doc-ast.h b/source/slang/slang-doc-ast.h index 25c39d9d3..a0d5367af 100644 --- a/source/slang/slang-doc-ast.h +++ b/source/slang/slang-doc-ast.h @@ -8,6 +8,8 @@ #include "slang-ast-all.h" +#include "slang-syntax.h" + namespace Slang { /* Holds the documentation markup that is associated with each node (typically a decl) from a module */ @@ -87,6 +89,8 @@ struct ASTMarkupUtil static SlangResult extract(ModuleDecl* moduleDecl, SourceManager* sourceManager, DiagnosticSink* sink, ASTMarkup* outMarkup, bool searchOrindaryComments = false); }; +bool shouldDocumentDecl(Decl* decl); + } // namespace Slang #endif diff --git a/source/slang/slang-doc-markdown-writer.cpp b/source/slang/slang-doc-markdown-writer.cpp index f29574180..c9dd6d9c8 100644 --- a/source/slang/slang-doc-markdown-writer.cpp +++ b/source/slang/slang-doc-markdown-writer.cpp @@ -1070,6 +1070,8 @@ void DocMarkdownWriter::writeAggType(const ASTMarkup::Entry& entry, AggTypeDeclB List<Decl*> uniqueMethods; for (const auto& [_, decl] : memberDict) { + if (!shouldDocumentDecl(decl)) + continue; CallableDecl* callableDecl = as<CallableDecl>(decl); if (callableDecl && isVisible(callableDecl)) { |
