| Mantis - Quercus | |||||
| Viewing Issue Advanced Details | |||||
|  | |||||
| ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: | 
| 2922 | major | always | 09-11-08 09:41 | 09-11-08 14:16 | |
|  | |||||
| Reporter: | koreth | Platform: | |||
| Assigned To: | ferg | OS: | |||
| Priority: | normal | OS Version: | |||
| Status: | closed | Product Version: | 3.2.1 | ||
| Product Build: | Resolution: | fixed | |||
| Projection: | none | ||||
| ETA: | none | Fixed in Version: | 3.2.1 | ||
|  | |||||
| Summary: | 0002922: "(variable name) is not analyzed" error | ||||
| Description: | The following is from our (open-source) Thrift communication library: <?php $GLOBALS['THRIFT_AUTOLOAD'] = array(); $GLOBALS['AUTOLOAD_HOOKS'] = array(); if (!function_exists('__autoload')) { function __autoload($class) { global $THRIFT_AUTOLOAD; $classl = strtolower($class); if (isset($THRIFT_AUTOLOAD[$classl])) { include_once $GLOBALS['THRIFT_ROOT'].'/packages'.$THRIFT_AUTOLOAD[$classl]; } else if (!empty($GLOBALS['AUTOLOAD_HOOKS'])) { foreach ($GLOBALS['AUTOLOAD_HOOKS'] as $hook) { $hook($class); } } } } It fails to compile with the following exception: [09:38:44.624] {resin-15} java.lang.IllegalStateException: Location[null:0]'$classl' is not analyzed. [09:38:44.624] {resin-15} at com.caucho.quercus.expr.ProVarExpr$1.generateAssign(ProVarExpr.java:469) [09:38:44.624] {resin-15} at com.caucho.quercus.expr.ProAssignExpr$1.generateTop(ProAssignExpr.java:90) [09:38:44.624] {resin-15} at com.caucho.quercus.expr.GenerateExpr.generateStatement(GenerateExpr.java:338) [09:38:44.624] {resin-15} at com.caucho.quercus.statement.ProExprStatement$1.generateImpl(ProExprStatement.java:92) [09:38:44.624] {resin-15} at com.caucho.quercus.statement.StatementGenerator.generate(StatementGenerator.java:92) [09:38:44.624] {resin-15} at com.caucho.quercus.statement.ProBlockStatement$1.generateImpl(ProBlockStatement.java:106) [09:38:44.624] {resin-15} at com.caucho.quercus.statement.StatementGenerator.generate(StatementGenerator.java:92) [09:38:44.624] {resin-15} at com.caucho.quercus.program.ProFunction$1.generateBody(ProFunction.java:472) [09:38:44.624] {resin-15} at com.caucho.quercus.program.ProFunction$1.generateFixedArgs(ProFunction.java:268) [09:38:44.624] {resin-15} at com.caucho.quercus.program.ProFunction$1.generate(ProFunction.java:205) [09:38:44.624] {resin-15} at com.caucho.quercus.gen.QuercusMain.generate(QuercusMain.java:142) [09:38:44.624] {resin-15} at com.caucho.java.gen.BaseClass.generateComponents(BaseClass.java:253) [09:38:44.624] {resin-15} at com.caucho.java.gen.BaseClass.generateClassContent(BaseClass.java:240) [09:38:44.624] {resin-15} at com.caucho.java.gen.BaseClass.generate(BaseClass.java:228) [09:38:44.624] {resin-15} at com.caucho.java.gen.GenClass.generate(GenClass.java:123) [09:38:44.624] {resin-15} at com.caucho.java.gen.JavaClassGenerator.generate(JavaClassGenerator.java:286) [09:38:44.624] {resin-15} at com.caucho.quercus.gen.QuercusGenerator.generate(QuercusGenerator.java:117) [09:38:44.624] {resin-15} at com.caucho.quercus.page.ProPageManager$CompileThread.run(ProPageManager.java:271) [09:38:44.624] {resin-15} at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:759) [09:38:44.624] {resin-15} at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:681) [09:38:44.624] {resin-15} at java.lang.Thread.run(Thread.java:619) | ||||
| Steps To Reproduce: | |||||
| Additional Information: | |||||
| Relationships | |||||
| Attached Files: | |||||
| Notes | |||||
|  | |||||
| 
 | 
 | ||||
|  | |||||
| 
 | 
 | ||||
|  | |||||
| 
 | 
 | ||||
|  | |||||
| 
 | 
 | ||||