[Lldb-commits] [lldb] [LLDB] Update DIL to pass current 'frame var' tests. (PR #145055)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Mon Jun 30 03:16:31 PDT 2025


================
@@ -191,12 +191,28 @@ ASTNodeUP DILParser::ParsePrimaryExpression() {
     return std::make_unique<IdentifierNode>(loc, identifier);
   }
 
+  uint32_t loc = CurToken().GetLocation();
+  std::string nested_name_specifier;
+
   if (CurToken().Is(Token::l_paren)) {
-    m_dil_lexer.Advance();
-    auto expr = ParseExpression();
-    Expect(Token::r_paren);
-    m_dil_lexer.Advance();
-    return expr;
+    nested_name_specifier = ParseNestedNameSpecifier();
+
+    if (!nested_name_specifier.empty()) {
+      if (!CurToken().Is(Token::identifier)) {
+        BailOut("Expected an identifier, but not found.",
+                CurToken().GetLocation(), CurToken().GetSpelling().length());
+      }
+
+      std::string unqualified_id = ParseUnqualifiedId();
+      return std::make_unique<IdentifierNode>(loc, nested_name_specifier +
+                                                       unqualified_id);
+    } else {
----------------
labath wrote:

no else after return

https://github.com/llvm/llvm-project/pull/145055


More information about the lldb-commits mailing list