-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.8
-
None
-
d8a56333b (master), 9eea61711 (dev), 5ce826b34 (dev), c8521e32e (dev), e0975c912 (6.10), f5ab09cb8 (6.10), 004e94ab5 (6.10), 45247917c (6.9), 4c4c62c7c (6.9), 012a3dafb (6.9), 3e05c0eb1 (tqtc/lts-6.8), 5f20b6c84 (tqtc/lts-6.8), f3ad63428 (tqtc/lts-6.8)
The semantic highlighting system for QML incorrectly distinguishes between qualified property lookups based on scope, when it should only be making these distinctions for unqualified lookups.
In property chains (e.g., foo.bar.baz), only the first part (foo) should receive special highlighting based on its source (ID, local variable, root object, context property), while all subsequent parts (bar, baz) should be highlighted uniformly as "Field" regardless of their source.
The fix should:
Apply special highlighting only to the first part of property chains based on scope analysis
Apply consistent "Field" highlighting to all qualified property accesses
Consider similar treatment for function calls in property chains (e.g., foo.bar().baz)
For Gerrit Dashboard: QTBUG-137116 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
655708,5 | revisit semantic highligher: Restructure the entry point | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
655709,6 | revisit semantic highlighter: property chains | dev | qt/qtdeclarative | Status: MERGED | +2 | +1 |
655710,7 | revisit semantic highligher: add pragma check for outer ids | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
655711,4 | revisit semantic highligher: known member of parent scope | dev | qt/qtdeclarative | Status: ABANDONED | 0 | 0 |
655798,4 | Align the token types with qmlls | master | qt-creator/qt-creator | Status: MERGED | +2 | 0 |
658139,2 | revisit semantic highligher: Restructure the entry point | 6.10 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
658140,2 | revisit semantic highlighter: property chains | 6.10 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
658141,2 | revisit semantic highligher: add pragma check for outer ids | 6.10 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
658173,2 | revisit semantic highligher: Restructure the entry point | 6.9 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
658174,2 | revisit semantic highlighter: property chains | 6.9 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
658175,2 | revisit semantic highligher: add pragma check for outer ids | 6.9 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
658425,2 | revisit semantic highligher: Restructure the entry point | tqtc/lts-6.8 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |
658426,2 | revisit semantic highlighter: property chains | tqtc/lts-6.8 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |
658427,2 | revisit semantic highligher: add pragma check for outer ids | tqtc/lts-6.8 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |