Re: Re: Cannot package
| From: | Greg Beaver | Date: | Sat, 17 Jan 2004 17:24:08 +0000 |
| Subject: | Re: Re: Cannot package | ||
| References: | 1 2 3 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-25120@lists.php.net to get a copy of this message | ||
Hi, found the bug, killed it, and closed :)
grab PEAR/Common.php from CVS and package away on SOAP.
The bug was that whoever wrote anaylzeSourceCode() assumed that {} brackets would always be balanced in a string that contained variables like "this $string {"
However, this is not required, and so the correct handling is to ignore all content between " and ". Most strings are returned as a single T_CONSTANT_ENCAPSED_STRING like "this string {", only strings that contain PHP variables are handled differently
Greg
Pierre-Alain Joye wrote:
On Sat, 17 Jan 2004 11:41:32 +0000 Davey <davey@php.net> wrote:OK, I've narrowed the error to these lines in PEAR_Common, 1339 - 1344:In fact the error raise in SOAP_WSDL::generateProxyCode method. I missed to find why the parser failed here. There is no syntax errors. pierrecase T_CLASS: if (($current_class_level != -1) || ($current_function_level != -1)) { PEAR::raiseError("Parser error: Invalid PHP file $file", PEAR_COMMON_ERROR_INVALIDPHP); return false; }