| Summary: | PHP model is not updated backward | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Seva Lapsha <seva.lapsha> |
| Component: | PDT | Assignee: | PHP Core <php.core-inbox> |
| Status: | CLOSED INVALID | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
Hi
class B:
abstract class B {
public abstract function foo();
}
class A:
class A extends B {
}
There is no error at all,even I make fake changes and save,do I need other special setting to get the errors?
(In reply to comment #1) > Hi > > class B: > abstract class B { > public abstract function foo(); > } > > class A: > class A extends B { > } > > There is no error at all,even I make fake changes and save,do I need other > special setting to get the errors? I was talking about Java compilation errors in JDT. In PHP there should no any compilation errors. it affects semantic analysis - if you have 2 files which have dependent classes, semantic validation of "undefined method (slow check)" is not getting updated when one of the classes is changed. Not a PDT bug. |
As you know, JDT model has bi-directional references of units. Meaning, if a unit has been changed, it automatically triggers changes on the referenced ones. Example: public class A extends B { int foo() {return 0;} } public abstract class B { abstract int foo(); } If I add another abstract method to B, it will automatically trigger building of A and a compilation error will automatically appear on A. This is useful, if you use Problem explorer or Tree Views to observer errors. In PHP prior to DLTK model, it behaved the same. After implementing DLTK model, this precious functionality was irresponsibly dropped. Now the model is plain and silly. The referencing elements aren't rebuilt ever - neither automatically, nor on open. The only way is either to rebuild the whole project, or to go over all the references, make fake changes and save (and imagine what is needed if the class hierarchy is complex).