Add support for yang type descriptions
Change-Id: I1fd070fb975aa82b2d4c1aa4165c5ab0153ff49f
diff --git a/src/yang_schema.cpp b/src/yang_schema.cpp
index 7f27711..7e5bb9f 100644
--- a/src/yang_schema.cpp
+++ b/src/yang_schema.cpp
@@ -284,7 +284,19 @@
}
}
- return yang::TypeInfo(resType, resUnits);
+ std::optional<std::string> resDescription;
+
+ // checking for parentTypedef->type()->der() means I'm going to enter inside base types like "string". These
+ // also have a description, but it isn't too helpful ("human-readable string")
+ for (auto parentTypedef = type->der(); parentTypedef && parentTypedef->type()->der(); parentTypedef = parentTypedef->type()->der()) {
+ auto dsc = parentTypedef->dsc();
+ if (dsc) {
+ resDescription = dsc;
+ break;
+ }
+ }
+
+ return yang::TypeInfo(resType, resUnits, resDescription);
};
return resolveType(leaf->type());
}