> Is there anything else that I am missing?

Sadly, yes. Consider the following snippet:

    class A {
        function method(): B;
    }

    class B extends A {
        function method(): C;
    }

    class C extends B {}

When checking that B::method satisfies the requirements of A::method
it must know if C extends B. At the time we check if B::method
satisfies A::method, C will *not* yet be in the symbol table.

You need to adjust the passes over the code to register symbols and
their declared relationships, and then in a separate pass validate
them. After that if the class isn't found then you trigger an
autoload.

It's doable, it just hasn't been done.

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to