diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2021-03-01 15:37:46 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-01 15:37:46 -0500 |
| commit | 837a155b3d33035ee0739858f4ab25c65048ad6c (patch) | |
| tree | 7abc4859a6669c9b8e0bcdaad6eb7b37471679ba /source/slang/slang-syntax.cpp | |
| parent | b3501add6c4dda798acf7b84b71b638d8d0b7898 (diff) | |
Doc improvements (#1729)
* #include an absolute path didn't work - because paths were taken to always be relative.
* Split out AST 'printing'.
* Replace listener with List<Section>
* Section -> Part.
* Kind -> Type Flags -> Kind for ASTPrinter::Part
* Improve comments around ASTPrinter.
* toString -> toText on Val derived types. toText appends to a StringBuilder.
* Added toSlice free function.
Added operator<< for Val derived types.
Use << where appropriate in doing toText.
* More work at mark down output.
* Fill in sourceloc for enum case.
Add more sophisticated location determination for EnumCase.
Refactored documentation output into DocMarkdownWriter.
* Improvements for sig output.
Diffstat (limited to 'source/slang/slang-syntax.cpp')
| -rw-r--r-- | source/slang/slang-syntax.cpp | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/source/slang/slang-syntax.cpp b/source/slang/slang-syntax.cpp index d6e966aaa..62de6599c 100644 --- a/source/slang/slang-syntax.cpp +++ b/source/slang/slang-syntax.cpp @@ -20,23 +20,23 @@ void printDiagnosticArg(StringBuilder& sb, Decl* decl) void printDiagnosticArg(StringBuilder& sb, Type* type) { - sb << type->toString(); + type->toText(sb); } void printDiagnosticArg(StringBuilder& sb, Val* val) { - sb << val->toString(); + val->toText(sb); } void printDiagnosticArg(StringBuilder& sb, TypeExp const& type) { - sb << type.type->toString(); + type.type->toText(sb); } void printDiagnosticArg(StringBuilder& sb, QualType const& type) { if (type.type) - sb << type.type->toString(); + type.type->toText(sb); else sb << "<null>"; } @@ -1104,13 +1104,22 @@ Index getFilterCountImpl(const ReflectClassInfo& clsInfo, MemberFilterStyle filt String DeclRefBase::toString() const { - if (!decl) return ""; - - auto name = decl->getName(); - if (!name) return ""; + StringBuilder builder; + toText(builder); + return builder; + } - // TODO: need to print out substitutions too! - return name->text; + void DeclRefBase::toText(StringBuilder& out) const + { + if (decl) + { + auto name = decl->getName(); + if (name) + { + // TODO: need to print out substitutions too! + out << name->text; + } + } } bool SubstitutionSet::equals(const SubstitutionSet& substSet) const |
