================
@@ -339,12 +405,32 @@ std::string DILParser::ParseNestedNameSpecifier() {
 //
 std::optional<CompilerType> DILParser::ParseTypeId() {
   CompilerType type;
-  // For now only allow builtin types -- will expand add to this later.
   auto maybe_builtin_type = ParseBuiltinType();
   if (maybe_builtin_type) {
     type = *maybe_builtin_type;
-  } else
-    return {};
+  } else {
+    // Check to see if we have a user-defined type here.
+    // First build  up the user-defined type name.
+    std::string type_name;
+    ParseTypeSpecifierSeq(type_name);
+
+    if (type_name.size() == 0)
+      return {};
+    type = ResolveTypeByName(type_name, m_ctx_scope);
+    if (!type.IsValid())
+      return {};
+
+    // Same-name identifiers should be preferred over typenames.
+    if (LookupIdentifier(type_name, m_ctx_scope, m_use_dynamic))
+      // TODO: Make type accessible with 'class', 'struct' and 'union' 
keywords.
----------------
Michael137 wrote:

If so, do the new tests add coverage for this?

https://github.com/llvm/llvm-project/pull/175061
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to