ID:               30452
 Comment by:       gopalv82 at yahoo dot com
 Reported By:      guth at fiifo dot u-psud dot fr
 Status:           Assigned
 Bug Type:         Scripting Engine problem
 Operating System: *
 PHP Version:      5CVS-2005-06-19
 Assigned To:      dmitry
 New Comment:

This looks like a bug with the runtime inheritance code-gen rather than
a parser bug.

The opcode dump I imagine looks something like

FETCH_CLASS "MyAbstractClass"
DECLARE_INHERITED_CLASS "MyClass"
DECLARE_CLASS "MyAbstractClass"
FETCH_CLASS "MyInterface"
ADD_INTERFACE

Linear opcode generation is just not possible (conditional classes !!
?)


Previous Comments:
------------------------------------------------------------------------

[2005-06-19 14:47:19] [EMAIL PROTECTED]

See also bug #30453

------------------------------------------------------------------------

[2005-05-09 11:31:34] [EMAIL PROTECTED]

Andi, (or Dmitry maybe?) can you look into this?

------------------------------------------------------------------------

[2004-10-16 01:56:33] guth at fiifo dot u-psud dot fr

Description:
------------
The following behaviour seems incorrect.

PHP founds the abstract class if it doesn't implement an interface, but
doen't found it if it implements an interface.

Reproduce code:
---------------
<?php

interface MyInterface { }

class MyClass extends MyAbstractClass { }

abstract class MyAbstractClass implements MyInterface { }

?>

<?php

interface MyInterface { }

class MyClass extends MyAbstractClass implements MyInterface { }

abstract class MyAbstractClass { }

?>

Expected result:
----------------
First :
- Should work

Second :
- Should work

Actual result:
--------------
First :

Fatal error: Class 'MyAbstractClass' not found in /www/test.php on line
5

Second :
- Work


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=30452&edit=1

Reply via email to