Summary: | kdevelop does not recognize some php language constructs | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | H.H. <cyberbeat> |
Component: | Language Support: PHP | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | niko.sams, Teyras |
Priority: | NOR | ||
Version: | 4.2.2 | ||
Target Milestone: | 4.2.3 | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kdev-php/1bf45f0cb2fe95bba2c5a8bc1e7f957d5f12c3b3 | Version Fixed In: |
Description
H.H.
2011-07-19 14:03:36 UTC
confirmed - this is valid php code; static is used for late state binding. Git commit 1bf45f0cb2fe95bba2c5a8bc1e7f957d5f12c3b3 by Heinz Wiesinger. Committed on 18/07/2013 at 13:51. Pushed by wiesinger into branch 'master'. Fix support for PHP 5.3's late static binding. This is still not 100% correct, 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. REVIEW: 111598 M +1 -1 duchain/builders/typebuilder.cpp M +6 -5 duchain/expressionvisitor.cpp M +11 -0 duchain/helper.cpp M +18 -0 duchain/tests/expressionparser.cpp M +1 -0 duchain/tests/expressionparser.h M +1 -0 parser/php.g http://commits.kde.org/kdev-php/1bf45f0cb2fe95bba2c5a8bc1e7f957d5f12c3b3 *** Bug 244073 has been marked as a duplicate of this bug. *** |