1. 20 Apr, 2015 1 commit
  2. 16 Jan, 2015 1 commit
  3. 23 Oct, 2014 1 commit
  4. 09 Oct, 2014 1 commit
  5. 25 Aug, 2014 1 commit
    • Nikolai Kosjar's avatar
      C++: Base parsing on editor document instead of widget · 89bd4ee3
      Nikolai Kosjar authored
      This mainly takes CppEditorSupport apart.
      
      * Parsing is now invoked by CPPEditorDocument itself by listening to
        QTextDocument::contentsChanged().
      
      * Upon construction and destruction CPPEditorDocument creates and
        deletes an EditorDocumentHandle for (un)registration in the model
        manager. This handle provides everything to generate the working copy
        and to access the editor document processor.
      
      * A CPPEditorDocument owns a BaseEditorDocumentProcessor instance that
        controls parsing, semantic info recalculation and the semantic
        highlighting for the document. This is more or less what is left from
        CppEditorSupport and can be considered as the backend of a
        CPPEditorDocument. CPPEditorDocument itself is quite small.
      
          * BuiltinEditorDocumentProcessor and ClangEditorDocumentProcessor
            derive from BaseEditorDocumentProcessor and implement the gaps.
      
          * Since the semantic info calculation was bound to the widget, it
            also calculated the local uses, which depend on the cursor
            position. This calculation got moved into the extracted class
            UseSeletionsUpdater in the cppeditor plugin, which is run once the
            cursor position changes or the semantic info document is updated.
      
          * Some more logic got extracted:
      	- SemanticInfoUpdater (logic was in CppEditorSupport)
      	- SemanticHighlighter (logic was in CppEditorSupport)
      
          * The *Parser and *Processor classes can be easily accessed by the
            static function get().
      
      * CppHighlightingSupport is gone since it turned out to be useless.
      
      * The editor dependency in CompletionAssistProviders is gone since we
        actually only need the file path now.
      
      Change-Id: I49d3a7bd138c5ed9620123e34480772535156508
      Reviewed-by: Orgad Shaneh's avatarOrgad Shaneh <orgads@gmail.com>
      Reviewed-by: default avatarErik Verbruggen <erik.verbruggen@digia.com>
      89bd4ee3
  6. 24 Jun, 2014 1 commit
  7. 17 Jun, 2014 1 commit
    • Wang Hoi's avatar
      C: Parser: Support parsing of c99 designated initializers · c56b999f
      Wang Hoi authored
      In case:
      
          int a[6] = { [4] = 29, [2] = 15 };
          struct point { int x, y; };
          struct point p = { .y = 3, .x = 2 };
      
      Grammar change when c99 language feature is enabled:
      old grammar:
      
          braced-init-list :: '{' initializer-list '}'
      
      new grammar:
      
          braced-init-list :: '{' designated-initializer-list '}'
          designated-initializer-list :: designated-initializer (',' designated-initializer )*
          designated-initializer :: designator* initializer-clause
          designator :: '.' identifier
                      | '[' constant-expression ']'
      
      Task-number: QTCREATORBUG-1902
      Change-Id: Ib99d6f553f8d0f50ba3eff86f3a2e86d73372426
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@digia.com>
      c56b999f
  8. 08 Jan, 2014 1 commit
  9. 23 Dec, 2013 2 commits
  10. 20 Dec, 2013 1 commit
    • Erik Verbruggen's avatar
      Add experimental clang code-model plug-in. · 5beb74fd
      Erik Verbruggen authored
      Previously known as the wip/clang branch.
      
      Contributors (in alphabetical order):
      - Christian Kamm <christian.d.kamm@nokia.com>
      - Erik Verbruggen <erik.verbruggen@digia.com>
      - Leandro Melo <leandro.melo@nokia.com>
      - Peter Kuemmel <syntheticpp@gmx.net>
      - Sergey Shambir <sergey.shambir.auto@gmail.com>
      
      Change-Id: I4c3ff600a19b6732641c1d5ef28236bf2cc17737
      Reviewed-by: default avatarhjk <hjk121@nokiamail.com>
      5beb74fd
  11. 18 Apr, 2013 1 commit
  12. 10 Apr, 2013 2 commits
  13. 08 Apr, 2013 1 commit
  14. 03 Apr, 2013 1 commit
  15. 12 Mar, 2013 1 commit
  16. 26 Feb, 2013 1 commit
    • Erik Verbruggen's avatar
      C++: Fix/tune semantic highlighter result chunk size. · 2d3d53a0
      Erik Verbruggen authored
      The fix: when finished with a FunctionDefinition, only flush when the
      number of usages reaches the chunk size. This should prevent a lot of
      chunks with a low number of usages for files with short methods.
      
      The tuning: for files larger than 10000 lines, use a larger chunk size
      to prevent the UI thread from having to re-layout/re-paint too often.
      
      Change-Id: I419174d306b8380c6fa8402825767e26c73f62ec
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@digia.com>
      2d3d53a0
  17. 19 Feb, 2013 1 commit
  18. 29 Jan, 2013 2 commits
  19. 05 Oct, 2012 1 commit
  20. 30 Jul, 2012 1 commit
  21. 19 Jul, 2012 1 commit
  22. 17 Jul, 2012 1 commit
    • Leandro Melo's avatar
      C++: Changes in semantic highlighting · 4a2a17af
      Leandro Melo authored
      - Fix issues with virtual/non-virtual destructors. They were not
        being correctly identified in some cases - in particular on certain
        uses in derived classes.
      
      - Since now we do have a highlighting item for regular functions,
        constructors and destructors are now highlighted as such. This is
        more semantically correct and actually makes navigation and readiblity
        more distinguishable, since it cleary differentiates the type itself
        from its uses in expressions and declarators. (This seems to be what
        other IDEs like Eclipse, Visual Studio, KDevelop are doing.)
      
        NOTE: There's a switch to disable this item in the case it doesn't
        get good acceptance. Actually, the switch can be made a user
        setting...?
      
      - Change the default color scheme so regular and virtual functions
        have the same color (virtuals continue to be italic). This makes
        sense given the above mentioned changes in constructors/destructors
        highlighting behavior. (In other schemes virtual funcions don't have
        different color, so this shouldn't be necessary in those.)
      
      - Small renaming: "members" are now "fields" - consistent, since
        they apply for data and it's the term used in the UI.
      
      Change-Id: Ib1aa9c0bbf28a31d09f5696460b0095fbe29de80
      Reviewed-by: default avatarRoberto Raggi <roberto.raggi@nokia.com>
      4a2a17af
  23. 05 Jun, 2012 1 commit
    • Francois Ferrand's avatar
      CppHighlighter: highlight all functions/methods. · 809611f3
      Francois Ferrand authored
      - Highlight all function/methods (not just virtual methods).
      - Highlight as a function even if number of arguments does not match. In
        that case, add a diagnostic message to indicate there are too many/too
        few arguments.
      - Fix highlighting of parameters in function declarations.
        These used to be handled indiferently, and they could be mistaken for
        type or field references.
      - Properly highlight template method calls.
      
      Change-Id: I6e61c9ee47763db95c62314f9cc1c4d398df38b3
      Reviewed-by: default avatarLeandro Melo <leandro.melo@nokia.com>
      809611f3
  24. 13 Apr, 2012 1 commit
  25. 29 Mar, 2012 2 commits
  26. 15 Feb, 2012 1 commit
  27. 09 Feb, 2012 1 commit
  28. 08 Feb, 2012 1 commit
  29. 26 Jan, 2012 1 commit
  30. 03 Nov, 2011 1 commit
  31. 01 Sep, 2011 1 commit
  32. 30 Aug, 2011 1 commit
  33. 24 Aug, 2011 1 commit
  34. 06 May, 2011 1 commit
  35. 13 Apr, 2011 1 commit
  36. 04 Feb, 2011 1 commit