1. 11 Jul, 2017 1 commit
  2. 15 Jun, 2017 1 commit
    • Przemyslaw Gorszkowski's avatar
      C++: fix code completion of stl containers in internal code model · 7bcf4831
      Przemyslaw Gorszkowski authored
      This fix makes some trick and replaces existing typedef of 'pointer'
      to the simplest one(only in class unique_ptr), e.g.:
      template <class _Tp>
      class unique_ptr
      {
        typedef some_strange_things pointer;
        pointer operator->();
      }
      is replace with
      template <class _Tp>
      class unique_ptr
      {
        typedef _Tp* pointer;
        pointer operator->();
      }
      
      In most of the implementation of unique_ptr it should work.
      
      Similar approach is done for std::list, std::vector, std::queue, std::set,
      std::multiset, std::unordered_set.
      
      It is done in this hacky way to omit problems with cyclic and complex
      resolving of typedefs.
      
      Change-Id: I1363dfc5e23d3cd2fa7af7fc27423bfbac2d894d
      Reviewed-by: Nikolai Kosjar's avatarNikolai Kosjar <nikolai.kosjar@qt.io>
      7bcf4831
  3. 19 Aug, 2016 1 commit
  4. 22 Jun, 2016 1 commit
  5. 19 Nov, 2015 1 commit
    • Nikolai Kosjar's avatar
      C++: Revert lookup to 3.4.2 · 0498fb68
      Nikolai Kosjar authored
      ...which was least buggy.
      
      The bugs fixed by the changes we revert here (highlighting/completion
      for code involving templates) were minor compared to ones we currently
      have. Those bugs will be addressed by the clang code model anyway.
      
      Relevant commits were collected via:
      
        $ cd ${QTC}/src/libs/cplusplus
        $ git log \
         --no-merges \
         --format=oneline \
         v3.4.2..HEAD \
         -- LookupContext.* ResolveExpression.* TypeResolver.* TypeOfExpression.* \
            ../../plugins/cpptools/cppcompletion_test.cpp
      
      From this list the following were skipped due to irrelevance:
      
        88c5b47e # CppTools: Minor cleanup in completion tests
        e5255a1f # CppTools: Add a test for ObjC not replacing dot with arrow
        5b12c8d6 # CppTools: Support ObjC in member access operator tests
        9fef4fb9 # CPlusPlus: Fix warnings about overriding visit(...) methods
      
      There were only minor conflicts while reverting those.
      
      This changes touches so many files because there were quite some
      cleanups and renames after the 3.4.2 release.
      
      Task-number: QTCREATORBUG-14889
      Task-number: QTCREATORBUG-15211
      Task-number: QTCREATORBUG-15213
      Task-number: QTCREATORBUG-15257
      Task-number: QTCREATORBUG-15264
      Task-number: QTCREATORBUG-15291
      Task-number: QTCREATORBUG-15329
      Change-Id: I01f759f8f35ecb4228928a4f22086e279c1a5435
      Reviewed-by: default avatarMarco Bubke <marco.bubke@theqtcompany.com>
      0498fb68
  6. 29 Jun, 2015 1 commit
    • Orgad Shaneh's avatar
      C++: Ignore explicit template instantiations · a77e3280
      Orgad Shaneh authored
      Defined in section 14.7.2 of the standard.
      
      Fixes completion for std::string.
      
      The following explicit instantiation appears in bits/basic_string.tcc:
        extern template class basic_string<char>;
      
      This is wrongfully considered a specialization for a forward declaration
      (like `template<> class basic_string<char>` is).
      
      Introduce a new Symbol type for explicit instantiations.
      
      Use-case:
      template<class T>
      struct Foo { T bar; };
      
      template class Foo<int>;
      
      void func()
      {
          Foo<int> foo;
          foo.bar; // bar not highlighted
      }
      
      Change-Id: I9e35c8c32f6b78fc87b4f4f1fc903b42cfbd2c2b
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      a77e3280
  7. 02 Jun, 2015 1 commit
  8. 23 May, 2014 2 commits
  9. 27 Mar, 2014 1 commit
  10. 28 Dec, 2013 1 commit
  11. 12 Sep, 2013 1 commit
  12. 09 Apr, 2013 1 commit
  13. 15 Mar, 2013 1 commit
  14. 06 Mar, 2013 1 commit
  15. 31 Oct, 2012 1 commit
  16. 07 Sep, 2012 1 commit
  17. 30 Jul, 2012 1 commit
  18. 02 Feb, 2012 1 commit
  19. 31 Jan, 2012 1 commit
    • Flex Ferrum's avatar
      C++: Type deduction for auto-declared variables implemented · c6fc0be8
      Flex Ferrum authored
      Handled to major cases of 'auto' variable declaration:
      1. auto var = someInitializer;
      2. Q_FOREACH(auto item, collection) or foreach(auto item, collection)
      
      In first case type deducted directly from initializer. If variable has no initializer then corresponded error reported. In second case type deducted from '*collection.begin()' expression.
      
      Change-Id: Ie930add1648b99440281ae04d973fd6904bc9e46
      Reviewed-by: default avatarRoberto Raggi <roberto.raggi@nokia.com>
      c6fc0be8
  20. 21 Oct, 2011 1 commit
  21. 19 Sep, 2011 1 commit
  22. 17 May, 2011 1 commit
  23. 16 May, 2011 2 commits
  24. 09 May, 2011 1 commit
  25. 06 May, 2011 1 commit
  26. 13 Apr, 2011 1 commit
  27. 12 Jan, 2011 2 commits
  28. 04 Jan, 2011 2 commits
  29. 17 Dec, 2010 1 commit
  30. 10 Dec, 2010 1 commit
  31. 18 Nov, 2010 1 commit
  32. 03 Sep, 2010 1 commit
  33. 26 Aug, 2010 1 commit
  34. 16 Aug, 2010 2 commits
  35. 11 Aug, 2010 1 commit