Community
Participate
Working Groups
Created attachment 178228 [details] example (from drupal) 1. create a new project 2. copy the attached file to poject 3. go to line 999 and position the cursor on the variable $type Exception is thrown to log: !ENTRY org.eclipse.php.core 4 4 2010-09-05 17:50:51.262 !MESSAGE java.lang.ClassCastException: org.eclipse.php.internal.core.compiler.ast.nodes.ReflectionArrayVariableReference cannot be cast to org.eclipse.php.internal.core.compiler.ast.nodes.ArrayVariableReference full exception: java.lang.ClassCastException: org.eclipse.php.internal.core.compiler.ast.nodes.ReflectionArrayVariableReference cannot be cast to org.eclipse.php.internal.core.compiler.ast.nodes.ArrayVariableReference at org.eclipse.php.internal.core.typeinference.VariableDeclarationSearcher.addDeclaredVariables(VariableDeclarationSearcher.java:181) at org.eclipse.php.internal.core.typeinference.VariableDeclarationSearcher.visit(VariableDeclarationSearcher.java:158) at org.eclipse.php.internal.core.compiler.ast.nodes.Assignment.traverse(Assignment.java:69) at org.eclipse.php.internal.core.compiler.ast.nodes.ExpressionStatement.traverse(ExpressionStatement.java:44) at org.eclipse.dltk.ast.statements.Block.traverse(Block.java:43) at org.eclipse.php.internal.core.compiler.ast.nodes.IfStatement.traverse(IfStatement.java:55) at org.eclipse.dltk.ast.statements.Block.traverse(Block.java:43) at org.eclipse.php.internal.core.compiler.ast.nodes.IfStatement.traverse(IfStatement.java:55) at org.eclipse.dltk.ast.statements.Block.traverse(Block.java:43) at org.eclipse.dltk.ast.declarations.MethodDeclaration.traverseChildNodes(MethodDeclaration.java:97) at org.eclipse.dltk.ast.declarations.MethodDeclaration.traverse(MethodDeclaration.java:71) at org.eclipse.dltk.ast.statements.Block.traverse(Block.java:43) at org.eclipse.dltk.ast.declarations.ModuleDeclaration.traverse(ModuleDeclaration.java:71) at org.eclipse.php.internal.core.typeinference.evaluators.VariableReferenceEvaluator.init(VariableReferenceEvaluator.java:83) at org.eclipse.dltk.ti.GoalEngine.evaluateGoal(GoalEngine.java:220) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:223) at org.eclipse.dltk.ti.DefaultTypeInferencer.evaluateType(DefaultTypeInferencer.java:213) at org.eclipse.php.internal.core.typeinference.BindingUtility.getType(BindingUtility.java:162) at org.eclipse.php.internal.core.typeinference.BindingUtility.getType(BindingUtility.java:188) at org.eclipse.php.internal.core.typeinference.BindingUtility.getType(BindingUtility.java:156) at org.eclipse.php.internal.core.ast.nodes.DefaultBindingResolver.getEvaluatedType(DefaultBindingResolver.java:243) at org.eclipse.php.internal.core.ast.nodes.DefaultBindingResolver.resolveExpressionType(DefaultBindingResolver.java:375) at org.eclipse.php.internal.core.ast.nodes.Expression.resolveTypeBinding(Expression.java:107) at org.eclipse.php.internal.ui.editor.highlighter.ModelUtils.getField(ModelUtils.java:27) at org.eclipse.php.internal.ui.editor.highlighters.DeprecatedHighlighting$DeprecatedApply.visit(DeprecatedHighlighting.java:73) at org.eclipse.php.internal.core.ast.nodes.FieldAccess.accept0(FieldAccess.java:70) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.ConditionalExpression.childrenAccept(ConditionalExpression.java:89) at org.eclipse.php.internal.core.ast.nodes.ConditionalExpression.accept0(ConditionalExpression.java:81) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.ReturnStatement.childrenAccept(ReturnStatement.java:76) at org.eclipse.php.internal.core.ast.nodes.ReturnStatement.accept0(ReturnStatement.java:69) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.Block.childrenAccept(Block.java:97) at org.eclipse.php.internal.core.ast.nodes.Block.accept0(Block.java:90) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.FunctionDeclaration.childrenAccept(FunctionDeclaration.java:108) at org.eclipse.php.internal.core.ast.nodes.FunctionDeclaration.accept0(FunctionDeclaration.java:97) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.core.ast.nodes.Program.childrenAccept(Program.java:195) at org.eclipse.php.internal.core.ast.nodes.Program.accept0(Program.java:188) at org.eclipse.php.internal.core.ast.nodes.ASTNode.accept(ASTNode.java:275) at org.eclipse.php.internal.ui.editor.highlighter.AbstractSemanticHighlighting.consumes(AbstractSemanticHighlighting.java:90) at org.eclipse.php.internal.ui.editor.highlighter.AbstractSemanticHighlighting.consumes(AbstractSemanticHighlighting.java:99) at org.eclipse.wst.sse.ui.internal.style.SemanticHighlightingReconciler.reconcile(SemanticHighlightingReconciler.java:127) at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.endProcessing(DocumentRegionProcessor.java:119) at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor.run(DirtyRegionProcessor.java:682) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Created attachment 178229 [details] patch
committed to branch and head
Verified. Closing...