<div dir="ltr">Ok, so back to check_inlines.  I realized after I hit send that the explanation I had written out is exactly what I thought I had to do for check_inlines == true.  <div><br></div><div>I guess a concrete example would make it clearer.  If I have this code:</div><div><br></div><div>// foo.cpp</div><div>#include "foo.h"</div><div><br></div><div>int main(int argc, char **argv) { return 0; }</div><div><br></div><div><br></div><div>And I run this C++ code:</div><div><br></div><div><div>// After this, sc_list should have 1 entry.</div><div>ResolveSymbolContext("foo.h", 0, true, eSymbolContextCompUnit, sc_list);</div></div><div><br></div><div>// After this, sc_list should have how many entries?  1 or 0?</div><div>ResolveSymbolContext("foo.h", 0, false, eSymbolContextCompUnit, sc_list);</div><div><br></div><div>how many entries are in sc_list after the second call?  If it's still 1, then what is the difference with the first case?</div><div><br></div><div>Is the only difference what I put into the line tables?  In the 'true' case, I fill out the line <span style="line-height:1.5">tables with all the contributions from foo.h, but in the 'false' case I don't?  But both still return the same number of entries in sc_list?</span></div><div><span style="line-height:1.5"><br></span></div><div><span style="line-height:1.5">(Sorry this is so confusing, I'm planning to document this process as I go so that the next person that comes along will be able to have all this information up front)</span></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Feb 26, 2016 at 3:26 PM Greg Clayton <<a href="mailto:clayborg@gmail.com">clayborg@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
> On Feb 26, 2016, at 3:22 PM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>> wrote:<br>
><br>
><br>
><br>
> On Fri, Feb 26, 2016 at 3:16 PM Greg Clayton <<a href="mailto:clayborg@gmail.com" target="_blank">clayborg@gmail.com</a>> wrote:<br>
><br>
> > On Feb 26, 2016, at 2:49 PM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>> wrote:<br>
><br>
> > I'm coming back around to this now.  What happens if check_inlines is False, but the FileSpec is a header file like <vector>.  You said "If check_inlines is false, make sure file_spec matches".  But if file_spec is a header file, it's never going to match anything.  Should I simply expect that the API is not called in this way?<br>
><br>
> It can be called, but you should only match on compile units whose files match "vector" as the basename.<br>
> Ahh, so I don't return each compile unit that matches the file_spec, but rather each CompileUnit where the compile unit OR one of the support files matches the file_spec.<br>
<br>
Yes. Think of what the user is going to want if they type:<br>
<br>
(lldb) b vector:123<br>
<br>
This should find all files that match vector and set a breakpoint on line 123 of _all_ of them. </blockquote></div>