Bug 73347 NPE in AdvancedQuickAssistProcessor.getInverseConditionProposals
I20040901 + plug-in export, J9 JXE Got this in log several times a day. No steps. !ENTRY org.eclipse.jdt.ui 4 10001 Sep 06, 2004 18:46:20.502 !MESSAGE Internal Error !STACK 0 java.lang.NullPointerException at org.eclipse.jdt.internal.ui.text.correction.AdvancedQuickAssistProcessor.getInverseConditionProposals(Unknown Source) at org.eclipse.jdt.internal.ui.text.correction.AdvancedQuickAssistProcessor.hasAssists(Unknown Source) at org.eclipse.jdt.internal.ui.text.correction.JavaCorrectionProcessor.hasAssists(Unknown Source) at org.eclipse.jdt.internal.ui.text.correction.QuickAssistLightBulbUpdater.calculateLightBulb(Unknown Source) at org.eclipse.jdt.internal.ui.text.correction.QuickAssistLightBulbUpdater.doSelectionChanged(Unknown Source) at org.eclipse.jdt.internal.ui.text.correction.QuickAssistLightBulbUpdater.access$0(Unknown Source) at org.eclipse.jdt.internal.ui.text.correction.QuickAssistLightBulbUpdater$1.selectionChanged(Unknown Source) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(Unknown Source) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(Unknown Source) at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/AdvancedQuickAssistProcessor.java
if (binding != null && binding.getReturnType().getName().equals("void"))  
						return false;
					expression = mi;
				}
			} else {
				expression = (Name) node;
			}
		} else {
			ArrayList nodes = getFullyCoveredNodes(context);
			if (nodes.size() != 1)
				return false;
			ASTNode coveredNode = (ASTNode) nodes.get(0);
			if (!(coveredNode instanceof Expression))
				return false;
			expression = (Expression) coveredNode;
		}
		if (expression == null) {
			return false;
		}
		
		MethodDeclaration methodDeclaration = ASTResolving.findParentMethodDeclaration(expression);
		Block parentBlock = null;
		int insertIndex = -1;
		Statement parentStatement = ASTResolving.findParentStatement(expression);
		if (expression.getParent() instanceof SingleVariableDeclaration) {
			parentBlock = methodDeclaration.getBody();
			if (parentBlock.statements().isEmpty())
				return false;
			parentStatement = (Statement) parentBlock.statements().get(0);
			insertIndex = 0;