1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00
Commit graph

153 commits

Author SHA1 Message Date
Doug Schaefer
854f036c61 [Qt] Remove unused extension. Make QML Analyzer loading a system job.
Also more clean up of the Qt Hello World template.

Change-Id: I8dd862140e9e641005809f5b523e332b6bf496bd
2016-05-17 14:42:10 -04:00
Doug Schaefer
1cd5ff5169 Fix a few things for the QML editor.
Fixed up content type warning. Hooked up colors for the QMLEditor to
the CEditor preferences. Fixed up tabbing in the main.qml template.
Fixed the GCC toolchain to find compiler on path on windows.

Change-Id: I66a013666d1ab99bfe94a2a558486cc81681c67c
2016-05-16 15:15:39 -04:00
Doug Schaefer
0d7ee343e0 Add MSYS2 support for managed build. A few Qt cleanups on Windows.
Change-Id: I07ed0cb4a83996de194559570fedf9fb1b21b42d
2016-05-12 15:32:51 -04:00
Doug Schaefer
2c4921bca0 Add binary parsers to new build system. Clean up some toolchain stuff.
new build configs now support binary parsers which are by default
driven from the toolchains. Ran into problem with new versions of
toolchains. Added versioning info to toolchains to take that into
account.

Change-Id: Ie1fb7755e84239b525dca0ae11759027a0b44574
2016-05-10 16:05:53 -04:00
Doug Schaefer
7139dc2f1e Modernize Arduino plug-ins. Adjust APIs to suite.
Change-Id: Ic877c8f0992874e647d4b464502165d7bd3ebe0e
2016-04-28 11:14:07 -04:00
Doug Schaefer
7043af66fb Major change to new build arch to give configs more power.
Creates a single central CBuilder builder which find the C Build
Config and delegates the builds to it. That give configs full control
over the builds. Qt and CMake build configs are adapted to this new
structure.

More features are added to the default super class for configs.

Change-Id: I5ecfc7a4e9b909da6749189a059cdcd4a208fddd
2016-04-23 22:35:33 -04:00
Alex Blewitt
2356a29c70 Bug 492200 - Replace StringBuffer with StringBuilder
There are many opportunities for replacing `StringBuffer` with
`StringBuilder` provided that the type isn't visible from the
public API and is used only in internal methods. Replace these
where appropriate.

Change-Id: Ic2f50c5b6f3c3a4eae301bb3b40fb6faed235f79
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-21 22:17:03 -05:00
Alex Blewitt
fc07efa909 Bug 491825 - Remove primitive wrapper creation
Using `new Integer` and other wrapper types such as `new Character` results in
potential extra heap utilisation as the values are not cached. The built-in
`Integer.valueOf` will perform caching on numbers in the range -128..127 (at
least) using a flyweight pattern. In addition, parsing `int` values can be done
with `Integer.parseInt` which avoids object construction.

Adjust tests such as `"true".equals(expr)` to `Boolean.parseBoolean(expr)`.

Change-Id: I0408a5c69afc4ca6ede71acaf6cc4abd67538006
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-16 12:17:48 -04:00
Doug Schaefer
6e1b9b408d Tighter integration of new build system with cdt.core.
Move the new build system to cdt.core and remove the previous
plugins. Hook the new system into scanner info and environment
variable manager.

Clean up API in preparation for Neon and API lockdown. Hook up
Qt to the new APIs.

Add discovery of MSYS2's toolchain and Qt and Qt's MinGW toolchain.

Change-Id: I85b1a91da4a44e86f0e9da9310f8106c894623e0
2016-04-14 16:19:37 -04:00
Doug Schaefer
096d2fa9f0 Make sure buttons on New Qt wizard are present.
Change-Id: I345adb10dd654ed2823aff3671b5774cf711797a
2016-03-22 13:06:05 -04:00
Doug Schaefer
c29243b187 Revert "Bug 489563 - API change for Language Settings Providers."
This reverts the changes we've made for language settings providers
so that I can start again with a cleaner approach.

Change-Id: Icddd5a465a8f217594af5b07011a56bf1dfdf014
2016-03-22 10:32:31 -04:00
Doug Schaefer
5a5de4b1db Bug 489563 - API change for Language Settings Providers.
Use IBuildConfiguration instead of ICConfigurationDescription.
Add adapters to convert back and forth between these. Create
IBuildConfiguration objects when configuration descriptors are
created.

Clean up formating of the code involved.

Change-Id: Iec5ca132dddbf990f116f96b4680ef5f7318e28b
2016-03-20 23:10:46 -04:00
Marc Khouzam
7856453f30 Bug 488909: Unify services factory classes to extend more easily
From org.eclipse.cdt.debug.gdbjtag.core, constructor
GdbJtagDebugServicesFactory.GdbJtagDebugServicesFactory(String)
has been replaced by
GdbJtagDebugServicesFactory.GdbJtagDebugServicesFactory(String,
ILaunchConfiguration)

From org.eclipse.cdt.dsf.gdb, constructor
GdbDebugServicesFactory.GdbDebugServicesFactory(String)
has been replaced by
GdbDebugServicesFactory.GdbDebugServicesFactory(String,
ILaunchConfiguration)

From org.eclipse.cdt.dsf.gdb, class GdbDebugServicesFactoryNS has been
removed and its logic was merged into class GdbDebugServicesFactory

Change-Id: Ifecba752cfc12da62f1447027b11c0bb1f7c0171
2016-03-17 14:31:45 -04:00
Jonah Graham
6283890715 Bug 472765: Use gdb's "set substitute-path from to"
Add support for gdb's "set substitute-path from to" by adding a new
service called GDBSourceLookup that uses GDB to perform the path
mapping.

The new GDBSourceLookup service uses the new GdbSourceLookupDirector to
get the set of paths that need mapping using GDB's "set
substitute-path" and the director resolves compilation path differently
so as to leave the GDB backend to handle the local path to compile path
resolution.

The MappingSourceContainer has been enhanced to allow a per mapping
container override of the new behaviour. This is a fallback as the
default behaviour when using GDB is to use "set substitute-path".

The MappingSourceContainerDialog exposes the new option in
MappingSourceContainer as a checkbox at the bottom of the path mapping
dialog in a backend agnostic way.

The new code is tested in methods called "sourceSubstitute*" and
mirror the same tests for the now non-backend handled version
which are "sourceMapping*". Note that
doMappingAndLaunch/doSubstituteAndLaunch have been updated to explicitly
check or uncheck the setIsMappingWithBackendEnabled setting

Change-Id: I122d7c597cd461d8e38c4f82522ccfdf9e51a5ba
Signed-off-by: Jonah Graham <jonah@kichwacoders.com>
2016-03-16 22:30:51 -04:00
Doug Schaefer
3ec5060d54 Qt - remove hardcoding of app name in build config.
Change-Id: Ifccecc9a6b8d0ed8e1bf36e2002a126df29376c3
2016-02-27 21:06:15 -05:00
Doug Schaefer
d1dda291d9 New Qt templates using new templates framework. Arduino fixes.
Change-Id: Ib50fb439ba248965286242e476728bb9f36ac18b
2016-02-22 22:55:06 -05:00
Alena Laskavaia
e7d064e89c qt core: prevent exceptions when deleting closed project
Change-Id: Ia2facb7682e83dc4d5023713f0d040b696f4ba6b
2016-02-18 12:15:52 -05:00
Marc Khouzam
2ad68f7f80 Update copyright dates
Change-Id: I94ac38c37657e270f62db9bbd2859c2c6de40e5f
2016-02-11 01:50:14 -05:00
Doug Schaefer
44599764f0 Support project scanner info in new build system for new class wiz.
The New Class Wizard asks scanner info for include paths for a project.
Need to decide whether that's a good thing or not but for now, add
support in the Qt config and GCC toolchain for it.

Change-Id: I5f037deb13db41fc0a083ea9fdc30ac1f61557e6
2016-02-09 16:40:46 -05:00
Doug Schaefer
b6dc71f442 Qt - cleanup build cases. Add method to GDBLaunch.
Clean up cases when Qt installs aren't registered for a given
config. Fix bug on first scanner info request in build config.
Clean up the Qt Run launch delegate in extension.

Also added a method to GDBLaunch to allow subclasses to override
what the default gdb path is.

Change-Id: Icf158633e1c1327cc87ce59c1605bb26258f8708
2016-02-08 14:05:06 -05:00
Marc Khouzam
766f66c0ab Missing copyright header.
Copyright assigned to company of the committer
who did the first commit of the file.

Change-Id: Ia133694018c798f9558258810982f5276737a0b0
2016-02-01 12:47:41 -05:00
Doug Schaefer
326759fe8c Qt fixes for scanner info and launching.
Qt builds now clear the scanner info cache so that it reloads.
Also added Environment tab for Qt Local launch so that you can
override the environment. Supported for 'run'.

Change-Id: Id6a04a564587411b6a5846f00045f79f5696bfb8
2016-01-29 15:08:58 -05:00
Doug Schaefer
57a47fe461 Qt - more missing things from the build.properties file.
Change-Id: I2d2ad53f0db45eb86566c9cfbb3a759e8ec95495
2016-01-28 18:55:16 -05:00
Doug Schaefer
ea0064b77b Qt - fix up build.properties files to pick things up properly.
Was including too much of tern-qml and missing the qt icons.
2016-01-28 13:14:51 -05:00
Doug Schaefer
192bfff688 Bug 486509 - Add support for debugging local Qt apps.
We reuse GDBLaunch but need to override some settings that are
normally in the launch configuration. These things are calculated
at launch time.

Note there is also an added dependency to the launch bar core
to make GDBLaunch a targeted launch so we can set the target properly.
At some point we'll move this launch target stuff lower down, maybe
to the debug platform.

Change-Id: Ibbf6b794a9ecf25b79d46093cc624ea69dc04641
2016-01-28 11:05:34 -05:00
Doug Schaefer
e7ef5fb9ac Qt - better handling when a Qt install hasn't been added.
Used to NPE, now prints a message on the build console at build time.

Change-Id: Ia38161dcc393506e44d4c4fa7e12a25f55e44bd0
2016-01-27 15:39:58 -05:00
Doug Schaefer
095dd5160e Qt - Include tern deps in build. Clean up some old files.
The tern deps were in node_modules which is gitignored. Created a
Makefile to copy those deps to a new directory and we check that in.

Also removed some files that were used to get ANTLR which we aren't
using. And cleaned out the commented out reload button from the
plugin.xml.

Change-Id: I09a5ecb298bbdd9272f9b4a7540d525edb55c4fa
2016-01-27 12:41:56 -05:00
Doug Schaefer
cba0b62a96 Make a couple of more things common. Clean up scanner info.
Make the build folder common for build configs. Makes things
consistent.

Also make it clear that we are caching scanner info with the
names of the API calls.

Change-Id: I1da0d90b3358065e28e437d0dfeea730e13c9aef
2016-01-20 10:30:25 -05:00
Marc Khouzam
b745736775 Incremented CDT features version to 9.0.0
This includes bumping the standalone debugger to 9.0.0

Change-Id: I55fae1cec995b5f6865a5b174c004ed1b76e9bea
2016-01-18 16:37:47 -05:00
Marc Khouzam
f3ff649041 Fix copyright of all CDT plugins using the copyright tool from platform.
This commit does not add missing copyrights, just updates the date on
the existing ones.

Change-Id: I646f5afd533a1fcc539bdf2e0686b22f406ecf65
2016-01-03 20:38:31 -05:00
Nathan Ridge
54e9a84673 Rename ICPPEvaluation.getTypeOrFunctionSet() to getType().
getTypeOrFunctionSet() is an unwieldy name, and since the return type
is IType, it seems reasonable to call the function getType().

Change-Id: I7e3211fdd3b474cc8e33da3e1f398b58122fe89d
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
2015-12-23 23:30:50 -05:00
Matthew Bastien
0027b29aba Bug 481126 - Walk QML Types AST
Added several classes that can be used to aggregate all of the
information from within a .qmltypes file as defined by
http://doc.qt.io/qt-5/qtqml-modules-qmldir.html#writing-a-qmltypes-file

Change-Id: Ia36c3bb1a4a0254c4125733d6faabbb5a4606133
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-12-22 15:04:28 -05:00
Matthew Bastien
a43976b882 Bug 481126 - Convert Acorn AST into Java
Added the class QmlASTNodeHandler that creates and manages Proxy
instances of the QML AST node interfaces.  The proxies are created
dynamically based on what methods are called on the interface.  That
way, the AST is loaded as needed rather than all at once.  Added a few
tests to verify behavior (however, they are not comprehensive; there are
a lot more cases that should be verified in the future).

Change-Id: I64038f9668942a67e1f1b7dceac6c7dbed2d46d7
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-12-16 11:40:14 -05:00
Matthew Bastien
84b5f4bfd2 Bug 480238 - QML AST in Java
Created a set of Interfaces to represent the JavaScript and QML Ast in
plain Java.  Updated acorn-qml to be able to parse the entirety of QML
syntax as specified by the QML grammar.  Also modified the QML AST to
represent the added syntax and modified tern-qml to handle the new AST
elements.

Changed the way that the QMLAnalyzer handles path resolution.  Paths are
now relative to the local file system.

Note: the normal acorn-qml parser cannot parse the full range of QML
syntax due to ambiguities.  However, the loose parser can.  We're still
waiting on Acorn to bring lookahead to the normal parser in order to
resolve this.

Change-Id: I77c820ad46301975b2a91969a656d428ad9409c1
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-12-14 11:13:52 -05:00
Matthew Bastien
e91dc6f389 Bug 480238 - Acorn-QML Parse QML Types File
Added the 'mode' option to acorn-qml that, when set to "qmltypes", will
allow it to parse the slightly different syntax that qmltypes files
have.  Added a few tests to check this functionality.

Change-Id: Ica240c33ad9a153953f099845cdcb71e241c3a8d
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-12-09 17:12:15 -05:00
Matthew Bastien
1d36f36ef8 Bug 481126 - QML Directory File Parsing
Added a new parser that is able to construct an AST for a given qmldir
file.  Added tests to ensure the parser works for standard qmldir files.

Change-Id: I292aace3cdec8b4a544033f80812df965fef50b8
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-12-09 14:58:22 -05:00
Doug Schaefer
6ba6157708 Bug 481126 - Add hyperlink support to open decl in QML editor.
Also moved the text package contents to the editor package.

Change-Id: I352f8cfa78e937fb4046f86df8c7767df6c5eff2
2015-12-08 11:27:15 -05:00
Matthew Bastien
d6bba126d8 Bug 481126 - QML Parse Query Type
Added two new query types to tern-qml: 'parseFile' and 'parseString'
which will return an AST for the given file or string respectively.

Change-Id: I4608866c002d43defb4d462c4a981282ed97e1c6
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-12-07 12:08:33 -05:00
Matthew Bastien
42e3859b68 Bug 481126 - QML Imports Working in Editor
Hooked up the extra logic needed to get Tern-QML's imports to work in
the QML File Editor.

Change-Id: I6fa222223ca8b6b177e4004e48f2f1863ab4d7b4
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-12-06 15:05:41 -05:00
Matthew Bastien
dd3815bb91 Bug 481126 - Tern-QML Directory Imports
Added functionality to tern-qml that allows it to recognize directory
imports of the form:  import "<directory>" [as <Qualifier>].  Content
assist and find definitions also work for these new imports.  Moreover,
fixed the QML Scoping to be easier to handle in the future by defining
new Scope Objects specifically for QML.  Finally, used JS Hint and
Beautify to have a more uniform coding style between all the files of
acorn-qml and tern-qml.

Also fixed up the HTML Demo to allow editing of multiple files to show
the new imports.

Change-Id: I2cdd18b1b8765400f6b24145f0677127a221fe10
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-12-04 11:18:00 -05:00
Doug Schaefer
3ec33023c3 Hide the exception on QML load from the UI.
Change-Id: Ib4bb21f5e7ec7e4d53d6dfe4f9098dd45575089a
2015-12-04 10:03:56 -05:00
Doug Schaefer
8d898be364 Add command an UI to reload the QML Analyzer.
This is just a temporary thing while we're developing it.

Change-Id: Id83fac1fa22f451ead2de8493a4c7457320b8008
2015-12-03 12:09:47 -05:00
Doug Schaefer
f1a21f5c64 Bug 481126 - Hook up QML content assist to tern.js-based analyzer
Also renames Activator.

Change-Id: I58161a40b0caa2930e4fb2a5b2a70748fbe552ae
2015-12-02 22:23:16 -05:00
Doug Schaefer
68b8c98473 Start to hook up tern-qml to Java and port some tests.
Change-Id: Ibee411855ffc78e1c183a6c845072ab1eac2b7df
2015-12-01 10:53:43 -05:00
Matthew Bastien
31150e4af1 Bug 481126 - QML Scoping Issues
Fixed the following issues with QML:
  -The parent scope of a QML Object is the file's root Object scope
  -Content assist for an Object Property should only display the
immediate Object's properties, not it's parent(s)
  -Content assist for an incomplete property binding should display
JavaScript hints as well

Added missing license headers and new tests.  Had to modify the
acorn-qml parser plugin in order to make some of the changes.  Added
tests for those as well.

Change-Id: I289167cbaacd8088f87dfafc689e67c0110d942f
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-11-30 16:29:58 -05:00
Doug Schaefer
3dd8f57dcf Bug 481978 - Lots of clean-up to the Qt Build and Launch.
Especially launch. Now have local and QNX launches (which are 
in our internal repo) working.

Change-Id: I97bacc520cc6806fe9622700b2bb3f544e4aad94
2015-11-27 09:41:40 -05:00
Doug Schaefer
e3496e1246 Bug 481978 - Big overhaul of new build system to work with Qt.
Moved new build system to it's own plug-ins. Cleaned up the root
build configuration and toolchain classes and use them for Qt local
run builds. Also hooks Qt local run launch delegate to launch target
manager and associated delegate interface.

Change-Id: I0c0f711ee53005edd399f6d24ba96658d606e1e5
2015-11-24 22:11:33 -05:00
Matthew Bastien
b5606e115f Bug 481126 - Tern QML Tests
Added a testing framework similar to acorn-qml's for tern-qml and began
adding tests.  Updated acorn-qml and tern-qml to use acorn v2.6.4 which
includes the changes to acorn_loose that enable loose parser plugins.

Change-Id: Ib6af4b476321fde4b3f15aac8342764a45985dfa
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-11-17 10:23:31 -05:00
Doug Schaefer
2e6c6216fb Bug 481978 - UI to add Qt installs. Installs are now persisted.
Change-Id: I1fa75b71615959df314a9aaca5f01e17069ec35f
2015-11-12 10:18:37 -05:00
Matthew Bastien
2d6e4f4b8a Bug 481850 - QML Error Tolerant Parser
Added the loose plugin to acorn-qml which is error-tolerant in its
parsing approach.  Switched the main parser to automatically use strict
mode and to complain if the ECMA Script version is set to anything
higher than 5.  This simplifies the parsing a little bit and keeps us in
sync with Qt which currently uses ECMA Script 5 in its JavaScript
runtime environment.

Updated the test framework to accommodate the loose parser and be less
'magic' in how it runs the tests.  Added new tests to make sure the
loose parser is, in fact, error tolerant.

Change-Id: I670fc01853198d2261fbf9d8b017d225c4612182
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
2015-11-12 10:04:21 -05:00