Skip to content
Permalink
Browse files
Modularize expressions
The file qgsexpressions.h has grown to one monolithic piece over the
years. This makes it hard to maintain and slows down compilation because
even small changes at one end will result in recompiling big parts of
the source tree. It also requires the compiler to keep track of all
these implementation details for said big parts of the source tree.

This splits this implementation into smaller pieces. There are soe API
changes connected to this, but since these can be considered
implementation details, on which not many plugins rely, this shouldn't
have a big impact on the ecosystem outside the source tree.
  • Loading branch information
m-kuhn committed May 19, 2017
1 parent ac50214 commit ec40199862a17f96ed5d8b4e3c85fbb3c9431ba5
Showing with 3,974 additions and 3,917 deletions.
  1. +5 −1 python/core/core.sip
  2. +514 −0 python/core/expression/qgsexpression.sip
  3. +286 −0 python/core/expression/qgsexpressionfunction.sip
  4. +250 −0 python/core/expression/qgsexpressionnode.sip
  5. +355 −0 python/core/expression/qgsexpressionnodeimpl.sip
  6. +0 −1,366 python/core/qgsexpression.sip
  7. +9 −9 python/core/qgsexpressioncontext.sip
  8. +0 −93 python/gui/qgsvertexmarker.sip
  9. +6 −5 src/analysis/CMakeLists.txt
  10. +11 −2 src/core/CMakeLists.txt
  11. +515 −497 src/core/{ → expression}/qgsexpression.cpp
  12. +552 −0 src/core/expression/qgsexpression.h
  13. +7 −0 src/core/expression/qgsexpressionfunction.cpp
  14. +438 −0 src/core/expression/qgsexpressionfunction.h
  15. +1 −0 src/core/expression/qgsexpressionnode.cpp
  16. +259 −0 src/core/expression/qgsexpressionnode.h
  17. +6 −0 src/core/expression/qgsexpressionnodeimpl.cpp
  18. +356 −0 src/core/expression/qgsexpressionnodeimpl.h
  19. +0 −1,564 src/core/qgsexpression.h
  20. +8 −7 src/core/qgsexpressioncontext.cpp
  21. +11 −9 src/core/qgsexpressioncontext.h
  22. +5 −3 src/core/qgsexpressionlexer.ll
  23. +39 −36 src/core/qgsexpressionparser.yy
  24. +1 −1 src/core/qgsexpressionprivate.h
  25. +8 −8 src/core/qgsmaplayer.h
  26. +124 −122 src/core/qgsogcutils.cpp
  27. +18 −16 src/core/qgsogcutils.h
  28. +11 −10 src/core/qgspropertytransformer.cpp
  29. +50 −48 src/core/qgssqlexpressioncompiler.cpp
  30. +2 −2 src/core/qgssqlexpressioncompiler.h
  31. +6 −5 src/core/qgssqliteexpressioncompiler.cpp
  32. +1 −1 src/core/qgssqliteexpressioncompiler.h
  33. +1 −1 src/core/qgssqlstatement.h
  34. +2 −1 src/core/qgsvectorlayer.cpp
  35. +4 −3 src/core/symbology-ng/qgssymbollayerutils.cpp
  36. +26 −27 src/gui/CMakeLists.txt
  37. +3 −1 src/gui/attributetable/qgsattributetablemodel.cpp
  38. +3 −2 src/gui/qgsexpressionbuilderwidget.cpp
  39. +1 −1 src/plugins/gps_importer/qgsgpsdevice.h
  40. +30 −29 src/providers/db2/qgsdb2expressioncompiler.cpp
  41. +1 −1 src/providers/db2/qgsdb2expressioncompiler.h
  42. +5 −3 src/providers/gpx/CMakeLists.txt
  43. +6 −5 src/providers/mssql/qgsmssqlexpressioncompiler.cpp
  44. +6 −5 src/providers/ogr/CMakeLists.txt
  45. +13 −13 src/providers/ogr/qgsogrexpressioncompiler.cpp
  46. +1 −0 src/providers/postgres/qgspostgresexpressioncompiler.cpp
  47. +5 −4 src/providers/virtual/qgsvirtuallayerfeatureiterator.cpp
  48. +3 −2 src/providers/virtual/qgsvirtuallayerfeatureiterator.h
  49. +2 −2 src/providers/virtual/qgsvirtuallayersqlitemodule.cpp
  50. +1 −0 tests/src/core/CMakeLists.txt
  51. +6 −11 tests/src/core/testqgsexpression.cpp
  52. +1 −1 tests/src/core/testqgsexpressioncontext.cpp
@@ -49,7 +49,6 @@
%Include qgseditorwidgetsetup.sip
%Include qgsellipsoidutils.sip
%Include qgserror.sip
%Include qgsexpression.sip
%Include qgsexpressioncontext.sip
%Include qgsexpressioncontextgenerator.sip
%Include qgsfeature.sip
@@ -403,3 +402,8 @@
%Include geometry/qgstriangle.sip
%Include geometry/qgswkbtypes.sip
%Include geometry/qgswkbptr.sip

%Include expression/qgsexpression.sip
%Include expression/qgsexpressionnodeimpl.sip
%Include expression/qgsexpressionnode.sip
%Include expression/qgsexpressionfunction.sip

0 comments on commit ec40199

Please sign in to comment.