1. 08 Jul, 2015 2 commits
  2. 02 Jul, 2015 1 commit
  3. 01 Jul, 2015 1 commit
    • Orgad Shaneh's avatar
      C++: Cleanup LookupContext · 7bed5cd3
      Orgad Shaneh authored
      Since the cache is now more reliable, some workarounds and optimizations
      in the instantiation process are not needed anymore.
      
      Also avoid instantiation of base classes when expandTemplates is
      disabled.
      
      As a bonus, we now resolve decltype of template function for a type that is not
      referenced anywhere but in the decltype.
      
      Change-Id: Idf42ba7280992db477c9aa62bb1815b27174594d
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      7bed5cd3
  4. 29 Jun, 2015 5 commits
  5. 26 Jun, 2015 1 commit
  6. 24 Jun, 2015 1 commit
  7. 23 Jun, 2015 1 commit
  8. 22 Jun, 2015 1 commit
  9. 17 Jun, 2015 2 commits
  10. 10 Jun, 2015 2 commits
    • Eike Ziller's avatar
      Move "open" from IEditor to IDocument · 4f927e4c
      Eike Ziller authored
      For non-editor documents it currently is not used, but for editors it
      makes more sense to have that on the document instead of the editor.
      Most actual implementations of "open" were done in the documents already
      anyhow, because it is needed for reloading.
      
      Change-Id: I29d4df2078995cbe80172b51a9bebeecb3afad3c
      Reviewed-by: default avatarDavid Schulz <david.schulz@theqtcompany.com>
      4f927e4c
    • Nikolai Kosjar's avatar
      Clang: Use completion through backend process · 23b8a3b2
      Nikolai Kosjar authored
      This makes us independent of libclang crashes for completion.
      Re-parsing for highlighting still happens in the Qt Creator process.
      
      Run in verbose mode:
          qtc.clangcodemodel.ipc=true
      
      Run tests:
          -test "ClangCodeModel"
      
      Task-number: QTCREATORBUG-14108
      Task-number: QTCREATORBUG-12819
      Change-Id: Id3e95bd2afdb6508bbd1d35fddc69534a909b905
      Reviewed-by: default avatarMarco Bubke <marco.bubke@theqtcompany.com>
      23b8a3b2
  11. 09 Jun, 2015 4 commits
    • Orgad Shaneh's avatar
      C++: Support default template argument lookup for specialization · 97d3d9ac
      Orgad Shaneh authored
      This fixes std::vector, although it doesn't really resolve numeric
      template arguments. It just picks the first specialization.
      
      Use-case:
      class Foo {};
      template<class T1 = Foo> class Temp;
      template<> class Temp<Foo> { int var; };
      void func()
      {
          Temp<> t;
          t.var; // var not highlighted
      }
      
      Task-number: QTCREATORBUG-8922
      Change-Id: I593515beb3a6d901b6088db8bc1b8e16c39083d3
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      97d3d9ac
    • Orgad Shaneh's avatar
      C++: Improve accuracy in findSpecialization · 997ab425
      Orgad Shaneh authored
      * If a template type is specialized as a pointer, accept only pointers (of any
      type)
      * Same for references and arrays
      * Only if the specialized type is not part of the template, match it
        against the input.
      
      Fixes resolving of partial specialization with pointers.
      
      Use-cases:
      // 1
      struct b {};
      struct a : b {};
      template<class X, class Y> struct s { float f; };
      template<class X> struct s<X, b*> { int i; };
      template<class X> struct s<X, a*> { char j; };
      
      void f()
      {
          s<int, a*> var;
          var.j; // j not highlighted
      }
      
      // 2
      template <typename T> struct Temp { T variable; };
      template <typename T> struct Temp<T &> { T reference; };
      void func()
      {
          Temp<int&> templ;
          templ.reference; // reference not highlighted
      }
      
      // 3
      class false_type {};
      class true_type {};
      template<class T1, class T2> class and_type { false_type f; };
      template<> class and_type<true_type, true_type> { true_type t; };
      void func2()
      {
          and_type<true_type, false_type> a;
          a.f; // f not highlighted
      }
      
      Task-number: QTCREATORBUG-14036
      Change-Id: Idee5e3f41d15c0772318d3837cbcd442cb80293a
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      997ab425
    • Orgad Shaneh's avatar
      CppTools: Fix highlighting and follow for template using argument · 3fe1b925
      Orgad Shaneh authored
      Use-case:
      template<class T>
      using Foo = Bar<T>; // T not highlighted
      
      Task-number: QTCREATORBUG-9944
      Change-Id: I04cb62ea6a21f158f7fb4fb7ac79ccd6eb1bbfbb
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      3fe1b925
    • Lorenz Haas's avatar
      CppEditor: Fix added newlines for GenerateGetterSetter quick fix · 7879aa5f
      Lorenz Haas authored
      As a nice side effect superfluous new lines - introduced by quick fixes
      that are using InsertionPointLocator::methodDefinition - vanished.
      
      Task-number: QTCREATORBUG-13872
      Change-Id: Ib3df2b2acbc22449f16f4444092a57ae93d53d35
      Reviewed-by: default avatarJochen Becher <jochen_becher@gmx.de>
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      7879aa5f
  12. 04 Jun, 2015 3 commits
  13. 03 Jun, 2015 4 commits
  14. 02 Jun, 2015 1 commit
    • Orgad Shaneh's avatar
      C++: Fix lookup for instantiation of using · b67ebf9f
      Orgad Shaneh authored
      Yet another std::vector issue...
      
      Use-cases:
      // Case 1
      template<typename T>
      using type = T;
      
      // Case 2
      struct Parent {
          template<typename T>
          using type = T;
      };
      
      // Case 3
      template<typename T>
      struct ParentT {
          template<typename DT>
          using type = DT;
      };
      
      struct Foo { int bar; };
      
      void func()
      {
          type<Foo> p1;
          Parent::type<Foo> p2;
          ParentT<Foo>::type<Foo> p3;
          // bar not highlighted
          p1.bar;
          p2.bar;
          p3.bar;
      }
      
      Task-number: QTCREATORBUG-14480
      Change-Id: I9ab08ea7360a432c48eb4b85aa0d63e08d2464c1
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      b67ebf9f
  15. 01 Jun, 2015 1 commit
  16. 27 May, 2015 1 commit
  17. 22 May, 2015 1 commit
  18. 20 May, 2015 2 commits
  19. 19 May, 2015 1 commit
  20. 15 May, 2015 3 commits
  21. 13 May, 2015 1 commit
  22. 07 May, 2015 1 commit