Review Request 111598: Fix late static binding support in kdev-php
Milian Wolff
mail at milianw.de
Fri Jul 19 23:55:56 UTC 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111598/#review36194
-----------------------------------------------------------
some small issues, then this is ready! Nice work!
duchain/expressionvisitor.cpp
<http://git.reviewboard.kde.org/r/111598/#comment26787>
rewrite using `static const QualifiedIdentifier("static");`
duchain/helper.cpp
<http://git.reviewboard.kde.org/r/111598/#comment26788>
use the "new" syntax for new code: `DUChainReadLocker lock;`
duchain/tests/expressionparser.cpp
<http://git.reviewboard.kde.org/r/111598/#comment26789>
DUChainWriteLocker lock;
duchain/tests/expressionparser.cpp
<http://git.reviewboard.kde.org/r/111598/#comment26790>
QVERIFY(res.type().cast<StructureType>());
QCOMPARE(res.type().cast<StructureType>()->qualifiedIdentifier(), QualifiedIdentifier("a"));
- Milian Wolff
On July 19, 2013, 1 p.m., Heinz Wiesinger wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/111598/
> -----------------------------------------------------------
>
> (Updated July 19, 2013, 1 p.m.)
>
>
> Review request for KDevelop.
>
>
> Description
> -------
>
> Fix the support for PHP 5.3's late static binding so that the 'static' keyword in
>
> return static::property;
>
> or
>
> return static()
>
> maps to the class it was declared in.
>
> This is not 100% correct behavior, but since static is evaluated at runtime we can not determine at parsing what class type it really is.
> However, it's always gonna be either the class it was declared in or one that extends the class it was declared in, so using that class as type should
> provide better information than for example mixed.
>
>
> This addresses bug 278085.
> http://bugs.kde.org/show_bug.cgi?id=278085
>
>
> Diffs
> -----
>
> duchain/builders/typebuilder.cpp 229c5c978b2bc77a2135a2b62c6ebf468e6d7b41
> duchain/expressionvisitor.cpp 35f375a8f6f4a8e195b954548e01516c222f949b
> duchain/helper.cpp 5628e10156d5b82d0beefcf8e65cda1f543a19eb
> duchain/tests/expressionparser.h 9b3a561d2f2802545b3dbff4c127ae64441b9ef0
> duchain/tests/expressionparser.cpp 9e76b0c7454fbf0f801816e006b9b273c43d141f
> parser/php.g 34b4b671a3cec05b075adfc946dc3da110657b26
>
> Diff: http://git.reviewboard.kde.org/r/111598/diff/
>
>
> Testing
> -------
>
> Unit test and example code.
>
>
> Thanks,
>
> Heinz Wiesinger
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20130719/183ab577/attachment-0001.html>
More information about the KDevelop-devel
mailing list