<div dir="ltr"><div class="gmail_extra"><div><div dir="ltr"><br></div></div><div class="gmail_quote">On Fri, May 10, 2013 at 3:45 PM, Sergey Shambir <span dir="ltr"><<a href="mailto:sergey.shambir.auto@gmail.com" target="_blank">sergey.shambir.auto@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>CppModelManager class is a singleton.
      Use CppModelManager::document to get target Document instance,
      than use iteration over global symbols with
      globalSymbolCount/globalSymbolAt or scopeaAt(line, column) to get
      Scope.<br>
      <br>
      Scopes form a chain, you can get enclosing scope with
      Symbol::enclosingScope, and Scope is subclass of Symbol. Probably
      exact position of comment is in global or namespace scope, so use
      some heuristic like scanning until non-comment token appear.<br>
      <br>
      10.05.13, 17:27, Carel Combrink пишет:<br>
    </div>
    <blockquote type="cite"><div><div>
      <div dir="ltr">Hi,
        <div><br>
        </div>
        <div>I <span>am busy with a Qt Creator
            plugin for the C++ Editor. </span></div>
        <div><span><br>
          </span></div>
        <div><span>How do I use the C++ code
            model to check if a word is a function, class, etc or 'just
            a word'? The plugin parses the comment tokens in a C++
            Editor. </span></div>
        <div><span><br>
          </span></div>
        <div><span>For an example: I have
            the following code:</span></div>
        <div><span>/* This is function
            myFunction */ </span></div>
        <div><span>void myFunction(int
            arg1);</span></div>
        <div><span><br>
          </span></div>
        <div><span>Parsing the comment gives
            me 4 words ("This", "is", "function" and "myFunction"). How
            do I know that "This" is just a word while "myFunction" is a
            token (part of the code model) in the scope of the comment?</span><span><br>
          </span></div>
        <div><span><br>
          </span></div>
        <div><span>My current, initial
            implementation checks a word against all tokens in the file
            that the comment appears in. I would like to make use of the
            code model instead, if possible. </span></div>
        <div><span><br>
          </span></div>
        <div><span>Regards,</span></div>
        <div><span>Carel</span></div>
        </div></div></div></blockquote></div><br></blockquote><div><br></div><div>Hi,</div><div><br></div><div>there's no direct way to get this information. Your wording is not totally clear though. A comment is also a token and you can get its content. The `myFunction' is also a token and more, it's the symbol for a particular function in your code.</div>


<div><br></div><div>You could try something as Sergey mentioned through traversing the symbols in the document and trying to match then. But depending on what exactly you're doing there might be a shortcut (under certain assumptions and limitations). For instance, in cases like that you could simply attempt to parse the content that follows the comment as a declaration and if that succeeds compare the identifiers from the function name, parameters, etc.</div>


<div><br></div><div>If you take a look at CppTools::DoxygenGenerator you'll notice that it does more or less the same thing but in the other direction: Based on a particular function, which is potentially located under the comment when you start typing /**, it generates a doxygen comment from the information it gathered.</div>


<div><br></div><div>Regards,</div><div>Leandro</div><br clear="all"><div><div dir="ltr">--<br></div></div><div><a href="http://www.ltcmelo.com/" target="_blank">http://www.ltcmelo.com</a> </div></div><br>
</div></div>