[new compiler] Fix recursive property validation across component boundaries

Change-Id: Ia2a6e9de534fcc4e3780544ad0d5708e656e11a1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix location of errors in group property objects

Change-Id: I63aa43ec7d9e90c1593c54dfc44890330c8669ae
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix property declarations inside group properties

Property declarations inside group properties as well as their initializers go
into into the surrounding object.

Change-Id: I5b2b0f7bc41daea1275eb17ed04560e17052ca42
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Add support for signal handler objects

Change-Id: I644dcea86fa886a6a2dc7cd230ad6942d165c4c5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix signal handler parameters for overloaded signals

When extracting the parameters for a signal, make sure to pick the
original variant that has all the parameters.

Change-Id: Ie28cb75ce32d8840812884ce2eef2934d473466c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix location when reporting signal declaration errors

Change-Id: Iaddb51cb7b0e28048761b98d6e48c70723cd5d00
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix signal handlers that are fuzzily matched

Use the same logic at object creation time as during the signal handler
conversion phase.

Change-Id: Idb48a3849da7b6543ec50c15e1ccbf2939c3ee39
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix datetime property conversion to match 5.1/5.2 behavior

Change-Id: I22c3e3f8e9a06928a23700b657a656a0db37d48d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix location reported on function declaration errors

Change-Id: I7549930a1152c257b3da6951afefef5d8b783f32
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Try to resolve qualified enums at type compile time

... by taking some code from the old compiler. This speeds up some bindings
and maintains compatibility.

Change-Id: If80b1e28214cb655f70fff01a8c885edcb2d3030
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix invalid id error messaging for empty IDs

When an ID is specified as string literal, which is empty, don't try to
take the literal quotes as ID. Instead it's empty and so an error needs
to be thrown.

Change-Id: I9b42295a33dceb3cc9e57456908c65bbc12eb296
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Cleanups

When creating the initial object tree from the AST, encapsulate the
declarations and bindings in the QmlObject class, in order to centralize the
redirection via declarationsOverride as well as the error handling. This also
replaces the hashes to detect duplicate properties/signals from being QString
based to simply use the existing string indices from the compilation unit.

Change-Id: Ia6ceae56977a98b5c5a7a738bf983a731e608d46
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix error messages for binding vs. property declarations

Separate binding errors from property declaration errors - they were
accidentally mixed up.

Change-Id: Id2d5134dc98ee3e1d7ce0c3d356f165e144e0d82
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Don't allow setting the id property multiple times

Change-Id: Ic7f1938dd048db6c6975d78ad4f69d3c646cece5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix error message when assigning lists to singular properties

Also adjust the error message for the other compiler when trying to assign
lists to script strings.

Change-Id: I50f833c340f3634a59c5b36f30aeafc53003e65e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix error messages when trying to create invalid property interceptors

Change-Id: I3dd608bfceb04323f92503596b87bbcb4bf582fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix error message about final property overrides

Change-Id: Icb8c2dfc633a6c322d4448ce18e3c01e0311b0f4
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Allow function calls during initial binding evaluations and signal handlers

Functions need to be setup first, like in the VME.

Change-Id: I4d1cffa04cb2b3ba7027c3720d55133253a1bad7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix revisioning

Always install the property cache on the ddata, not only for types with
a VME meta object, as the cache has the correct revision cache.

Change-Id: I82352df867c1045b37152013eb924aafde2ee874
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
[new compiler] Fix sanity checking of parameter names when connecting to C++ signals

Change-Id: Ie2dc8689786a61fe5f38a0f91ff86f011e965b2d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>