#30452 [Com]: php parser does not work properly (1)
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] sniper@php.net
See also bug #30453
------------------------------------------------------------------------
[2005-05-09 11:31:34] sniper@php.net
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
Thread (9 messages)