Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004139 [Quercus] minor always 07-25-10 10:00 07-25-10 10:00
Reporter kdecherf View Status public  
Assigned To
Priority normal Resolution open Platform
Status new   OS
Projection none   OS Version
ETA none Fixed in Version Product Version 4.0.8
  Product Build
Summary 0004139: "unknown lexeme:/ in" error when a comment is between 'implements' keyword and '{'
Description An error 500 is caught when a comment is between 'implements' keyword and '{' (class declaration beginning).

Error report:
----
com.caucho.quercus.parser.QuercusParseException: /home/kdecherf/Working/Workspaces/quercus-4.0.8/build/web/quercus.php:8: unknown lexeme:/ in
quercus.php:6:
quercus.php:7: class MyClass implements
quercus.php:8: /* Implementation class */
quercus.php:9: Implement {
quercus.php:10:
----

I fixed it with two new functions : ignoreMultilineComment() and ignoreSinglelineComment() to ignore comments during execution of parseNamespaceIdentifier().

You can find a patch proposal in attachment (source based on SVN repo).
Steps To Reproduce
Additional Information Example file to reproduce error:

<?php

class Implement {
    function _test() { echo __CLASS__.':'.__FUNCTION__.'()'; }
}

class MyClass implements
    /* Implementation class */
    Implement {

    function __construct() {
        echo $this->_test();
    }
}

$Class = new MyClass();
?>
Attached Files  QuercusParser.patch [^] (2,438 bytes) 07-25-10 10:00

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
07-25-10 10:00 kdecherf New Issue
07-25-10 10:00 kdecherf File Added: QuercusParser.patch
10-27-10 09:22 kdecherf Issue Monitored: kdecherf


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
28 total queries executed.
24 unique queries executed.
Powered by Mantis Bugtracker