1. 04 Feb, 2015 14 commits
    • hjk's avatar
      Debugger: Implement native mixed breakpoints with LLDB · d4a32fd6
      hjk authored
      
      
      Breakpoints are hit, stack frames are identified as JS or native.
      No further data yet.
      
      Change-Id: I84a02422fd36dc7645003114dd8519bedd913c06
      Reviewed-by: default avatarhjk <hjk@theqtcompany.com>
      d4a32fd6
    • Przemyslaw Gorszkowski's avatar
      C++: fix auto declaration in if condition · 955e28f9
      Przemyslaw Gorszkowski authored
      
      
      Fix for auto completion in case of auto declaration inside if condition:
      
      struct Foo { int bar; };
      void func()
      {
          if (auto s = new Foo)
              s->; // auto completion does not work
      }
      
      Task-number: QTCREATORBUG-13805
      Change-Id: Ia1776e8cc04e6040a6bf5f43cf82cfd6ce6dde7a
      Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@theqtcompany.com>
      955e28f9
    • hjk's avatar
      Debugger: Move some 'mixed native' code to DumperBase · 7d4b9c4b
      hjk authored
      
      
      Prepares reuse in LLDB.
      
      Change-Id: I2238a94937411b80a9ec84ab738aba2146bba50e
      Reviewed-by: default avatarhjk <hjk@theqtcompany.com>
      7d4b9c4b
    • Orgad Shaneh's avatar
      ProjectExplorer: Use explicit namespace · 5d1e13fb
      Orgad Shaneh authored
      
      
      Change-Id: I923b856170f1c4ddd48da2434bf77d4b46da8d99
      Reviewed-by: default avatarEike Ziller <eike.ziller@theqtcompany.com>
      5d1e13fb
    • Nikolai Kosjar's avatar
      CppEditor: Tests: Move doxygen tests in separate test class · f0aea93b
      Nikolai Kosjar authored
      
      
      Change-Id: If27b4e11deafaefd95a5815466fc5fdac23ba30a
      Reviewed-by: default avatarErik Verbruggen <erik.verbruggen@theqtcompany.com>
      f0aea93b
    • Nikolai Kosjar's avatar
      Plugin Tests: Support additional test objects/classes · 4f7eb4e6
      Nikolai Kosjar authored
      
      
      So far tests running within Qt Creator could be implemented with a
      private slot in the plugin class starting with "test".
      
      Binding the test functions to the plugin object/class is fine for test
      functions without side effects. But as soon as side effects come into
      play we need proper initialization and cleanup as it's provided by
      init(), cleanup(), initTestCase() and cleanupTestCase(). However,
      implementing these functions in the plugin class is not appropriate
      since they would affect (potentially quite diverse) test functions.
      
      This patch enables us to provide 'ordinary' test classes in which we can
      handle initialization and clean up the usual way.
      
      In addition to the current test invocations, e.g.:
      
          # (1) Run all test functions of the plugin
          ./qtcreator -test CppTools
      
          # (2) Run selected test functions of the plugin by stating them
          ./qtcreator -test CppTools,test_completion,test_builtinsymbolsearcher
      
          # (3) Run selected test functions of the plugin by a wild card
          # expression
          ./qtcreator -test "CppTools,*pointerdeclaration*"
      
          # (4) Run a test function of the plugin with certain test data
          ./qtcreator -test CppTools,test_completion:template_1
      
      it's now also possible to state the test class in order to execute all
      test functions of that class:
      
          # Run all test functions of a certain class:
          ./qtcreator -test CppTools,SomeClassWithTests
      
      As long as the test class does not start with "test", there should not
      be any problems.
      
      Further, an invocation like (1) now additionally execute all test
      functions of all test classes. For invocations of type (2), (3) and (4)
      all test functions of all test classes are considered, too.
      
      Change-Id: Ief08a6e9e451c599fd0109b8b8e57f92e3ee19f2
      Reviewed-by: default avatarEike Ziller <eike.ziller@theqtcompany.com>
      Reviewed-by: default avatarErik Verbruggen <erik.verbruggen@theqtcompany.com>
      4f7eb4e6
    • Nikolai Kosjar's avatar
      CppTools: Remove workaround for quotes in defines · 2992653a
      Nikolai Kosjar authored
      
      
      ...since by now we get the defines in the correct format from
      QMakeProject.
      
      See the change this one depends on.
      
      Tested with:
      
          Qbs:   cpp.defines: [ 'PATH1="/some/path"', "PATH2=\"/some/path\"" ]
          QMake: DEFINES += PATH1=\\\"/some/path\\\" "PATH2=\\\"/some/path\\\""
          CMake: add_definitions(-DPATH1="/some/path" "-DPATH2=\"/some/path\"")
      
      All these lines translate to
      
          #define PATH1 "/some/path"
          #define PATH2 "/some/path"
      
      for the code model.
      
      Change-Id: Ifc3d3acff3abab6897ccbd0c5fafd5c415dfb53c
      Reviewed-by: default avatarErik Verbruggen <erik.verbruggen@theqtcompany.com>
      2992653a
    • Orgad Shaneh's avatar
      Qnx: Remove unneeded qualifications · b1c17b39
      Orgad Shaneh authored
      
      
      Mostly done using the following ruby script:
      Dir.glob('**/*.cpp').each { |file|
        next if file =~ %r{src/shared/qbs|/qmljs/}
        s = File.read(file)
        s.scan(/^using namespace (.*);$/) {
          ns = $1
          t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
            before = $1
            char = $2
            if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
              m
            else
              before + char
            end
          }
          if t != s
            puts file
            File.open(file, 'w').write(t)
          end
        }
      }
      
      Change-Id: I78a70180927d085822e215ffb2b8ad256301e4a7
      Reviewed-by: default avatarhjk <hjk@theqtcompany.com>
      b1c17b39
    • Orgad Shaneh's avatar
      Valgrind: Do not use native separators at all · b001e545
      Orgad Shaneh authored
      
      
      Since valgrind only runs on POSIX systems, all the paths it produces are
      normalized.
      
      We have no mapping to local directory, so having a path like
      \home\user\project\file.cpp is confusing.
      
      Change-Id: Idff339729231ab662aa4fcb6bb732058c1a04f7c
      Reviewed-by: default avatarhjk <hjk@theqtcompany.com>
      b001e545
    • Orgad Shaneh's avatar
      Debugger: Remove unneeded qualifications · 4e8e75d8
      Orgad Shaneh authored
      
      
      Mostly done using the following ruby script:
      Dir.glob('**/*.cpp').each { |file|
        next if file =~ %r{src/shared/qbs|/qmljs/}
        s = File.read(file)
        s.scan(/^using namespace (.*);$/) {
          ns = $1
          t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
            before = $1
            char = $2
            if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
              m
            else
              before + char
            end
          }
          if t != s
            puts file
            File.open(file, 'w').write(t)
          end
        }
      }
      
      Change-Id: I1aa1a2b6ccbafeb1a8f3053fffa39b3f96992591
      Reviewed-by: default avatarhjk <hjk@theqtcompany.com>
      4e8e75d8
    • hjk's avatar
      Debugger: Re-use base infrastructure for LLDB breakpoint handling · 3a9b34f2
      hjk authored
      
      
      Change-Id: If32b1f421e45dc4ee446e193e03c959d7c700948
      Reviewed-by: default avatarhjk <hjk@theqtcompany.com>
      3a9b34f2
    • Eike Ziller's avatar
      FileSystemFilter: Use QFileInfo::fileName instead of FileName::fileName · d9af2e05
      Eike Ziller authored
      
      
      The input can well be relative, and contain slashes at the end...
      
      Change-Id: Id4fd65474f2b9c23824f7a822c6e29cf443e1058
      Reviewed-by: Orgad Shaneh's avatarOrgad Shaneh <orgads@gmail.com>
      d9af2e05
    • Orgad Shaneh's avatar
      Callgrind: Convert to Qt5-style connect · 58d53ebd
      Orgad Shaneh authored
      
      
      Change-Id: Id8851f31cf3a4005d7d4573bfb3dc9093932a4c2
      Reviewed-by: default avatarhjk <hjk@theqtcompany.com>
      58d53ebd
    • Orgad Shaneh's avatar
      DiffEditor: Remove unneeded qualifications · 7d469ff1
      Orgad Shaneh authored
      
      
      Mostly done using the following ruby script:
      Dir.glob('**/*.cpp').each { |file|
        next if file =~ %r{src/shared/qbs|/qmljs/}
        s = File.read(file)
        s.scan(/^using namespace (.*);$/) {
          ns = $1
          t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
            before = $1
            char = $2
            if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
              m
            else
              before + char
            end
          }
          if t != s
            puts file
            File.open(file, 'w').write(t)
          end
        }
      }
      
      Change-Id: I04454108cf2818bb88237849169a8359dd408de9
      Reviewed-by: default avatarhjk <hjk@theqtcompany.com>
      7d469ff1
  2. 03 Feb, 2015 7 commits
  3. 02 Feb, 2015 16 commits
  4. 30 Jan, 2015 3 commits