Review Request 118700: Special handling of the QML "parent" identifier

Milian Wolff mail at milianw.de
Thu Jun 12 20:33:19 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118700/#review59907
-----------------------------------------------------------



duchain/expressionvisitor.cpp
<https://git.reviewboard.kde.org/r/118700/#comment41718>

    use QmlJS::Document::Language here instead
    
    also, the access pattern is broken, you first have to lock the duchain, then look at m_context->...
    
    Maybe you added more of these issues elsewhere? please double-check!



duchain/expressionvisitor.cpp
<https://git.reviewboard.kde.org/r/118700/#comment41719>

    this also should be done only while holding the lock. so do get the lock at the top of the function and be done with it


- Milian Wolff


On June 12, 2014, 7:27 p.m., Denis Steckelmacher wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118700/
> -----------------------------------------------------------
> 
> (Updated June 12, 2014, 7:27 p.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Repository: kdev-qmljs
> 
> 
> Description
> -------
> 
> This patch adds a special-case for "parent" in ExpressionVisitor. Even if every QML object has a "parent" property of type QQuickItem, the user most of the time wants to refer to the enclosing QML component when he/she types "parent". If there is no enclosing QML component (the current component is a top-level one or something else happened), then ExpressionVisitor falls back to the old behavior and returns a QQuickItem instance.
> 
> I would like to be able to activate this special handling of "parent" only for QML files, because Javascript files may use "parent" for something else. Is it possible, given a DUContext, to find its language? (or is there a way for the QML/JS plugin to store in the DUContext that the file is a Javascript one or a QML one?)
> 
> 
> Diffs
> -----
> 
>   codecompletion/tests/qmlcompletiontest.cpp 1b5cdee 
>   duchain/expressionvisitor.cpp 6545997 
>   tests/files/test.qml 2d3dc7d 
> 
> Diff: https://git.reviewboard.kde.org/r/118700/diff/
> 
> 
> Testing
> -------
> 
> A new unit test has been added. "parent" is used to refer to the enclosing component of a sub-component, and uses are correctly built. The rest of the unit tests pass. Manual testing shows that the highlighting of "parent" and the code-completion for "parent." is as expected.
> 
> 
> Thanks,
> 
> Denis Steckelmacher
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20140612/8d2613a1/attachment-0001.html>


More information about the KDevelop-devel mailing list