It seems like we hit this issue in different contexts almost at the same time (see my thread several days ago about “problem formatting value objects”).  That might at least give you some context about why things<br><br>I wish ObjC assumptions weren’t so deeply embedded, but alas it is the case.<br><br>Hopefully Jim or someone has ideas on how to fix this properly.  <br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 31, 2018 at 5:08 AM Aleksandr Urakov <<a href="mailto:aleksandr.urakov@jetbrains.com">aleksandr.urakov@jetbrains.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Hello,</div><div dir="ltr"><br></div><div dir="ltr">I've tried to use a check like `if (m_ast_context->getLangOpts().ObjC) ...`, but it seems that it's always true. How can we else determine here if the Objective-C case is used? Or if we can't, where can we move `if (name == id_name || name == Class_name)` to make it Objective-C only? What regressions Objective-C users would have if we would remove this check from here?</div><div dir="ltr"><br></div><div>Regards,</div><div>Alex</div></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 24, 2018 at 7:14 PM Aleksandr Urakov <<a href="mailto:aleksandr.urakov@jetbrains.com" target="_blank">aleksandr.urakov@jetbrains.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi all!<div><br></div><div>There are two hardcoded names to ignore in the `ClangASTSource::IgnoreName` function, "Class" and "id", they are valid names for C++. It seems that they were added for the Objective-C case. But the problem is that when they are in locals they are blocking expressions evaluation.</div><div><br></div><div>For example for the next code:</div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><font face="monospace, monospace">int main() {</font></div></div><div><div><font face="monospace, monospace">  int x = 5;</font></div></div><div><div><font face="monospace, monospace">  int id = 7;</font></div></div><div><div><font face="monospace, monospace">  int y = 8;</font></div></div><div><div><font face="monospace, monospace">  return 0;</font></div></div><div><div><font face="monospace, monospace">}</font></div></div></blockquote><div dir="ltr"><div><font face="arial, helvetica, sans-serif">if you'll break on `return 0` and will try to `print x`, then you'll get a error like `no member named 'id' in namespace '$__lldb_local_vars'</font><span style="font-family:arial,helvetica,sans-serif">`.</span></div><div><span style="font-family:arial,helvetica,sans-serif"><br></span></div><div><span style="font-family:arial,helvetica,sans-serif">Do you have any ideas, how can we fix it?</span></div><div><span style="font-family:arial,helvetica,sans-serif"><br></span></div><div>Regards,<br></div><div>Alex</div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_2900732393126439600gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Aleksandr Urakov</div><div><span>Software Developer</span></div><div><span>JetBrains</span></div><div><span><a href="http://www.jetbrains.com" target="_blank">http://www.jetbrains.com</a></span></div><div><span>The Drive to Develop</span></div></div></div>
</blockquote></div>