Qml JavaScript code generation cleanups
authorSimon Hausmann <simon.hausmann@digia.com>
Fri, 18 Oct 2013 13:36:40 +0000 (15:36 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sun, 20 Oct 2013 19:11:54 +0000 (21:11 +0200)
commitb93ddb95a74fff4bc61073b6b04e9dd7a7dc7f36
tree5a3a1d29d2232fd10f5d9ffa3584e0ee22eab456
parent6b2b62e903e1207255b0652b728ecaee6d51aea9
Qml JavaScript code generation cleanups

* Run the binding expressions, functions and signal handlers through
  the V4 codegen _per_ component, and run the isel at the end for the
  entire file. We need to do per-component codegen because we want to
  set up the correct id and object scopes, which are different for the
  root component and anonymous components.
* Changed V4IR::Module to allow for the concept of "qml modules" where
  there is no root function defined. This is a logical consequence of
  running v4 codegen multiple times with different input but the same
  V4IR::Module.

Change-Id: Ib3a719f83507cbab7c2e4e145ccad5b663c795cf
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/qml/compiler/qv4compileddata.cpp
src/qml/compiler/qv4compileddata_p.h
src/qml/compiler/qv4compiler.cpp
src/qml/compiler/qv4isel_p.cpp
src/qml/compiler/qv4jsir.cpp
src/qml/compiler/qv4jsir_p.h
src/qml/qml/qqmlcompiler.cpp
src/qml/qml/qqmlcompiler_p.h