From a61547e5dd3efe0161c6f5428c39b00c272aba58 Mon Sep 17 00:00:00 2001 From: Markus Keller Date: Thu, 1 May 2014 17:15:59 +0200 Subject: [PATCH] Bug 433715: [1.8][inline] NPE when inlining a local variable use import context --- .../corext/refactoring/code/InlineTempRefactoring.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java index 4778202f88..5a6c287a51 100644 --- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java +++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/InlineTempRefactoring.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2012 IBM Corporation and others. + * Copyright (c) 2000, 2014 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -71,12 +71,14 @@ import org.eclipse.jdt.core.dom.VariableDeclarationFragment; import org.eclipse.jdt.core.dom.VariableDeclarationStatement; import org.eclipse.jdt.core.dom.rewrite.ASTRewrite; +import org.eclipse.jdt.core.dom.rewrite.ImportRewrite.ImportRewriteContext; import org.eclipse.jdt.core.dom.rewrite.ListRewrite; import org.eclipse.jdt.core.refactoring.CompilationUnitChange; import org.eclipse.jdt.core.refactoring.IJavaRefactorings; import org.eclipse.jdt.core.refactoring.descriptors.InlineLocalVariableDescriptor; import org.eclipse.jdt.internal.core.refactoring.descriptors.RefactoringSignatureDescriptorFactory; +import org.eclipse.jdt.internal.corext.codemanipulation.ContextSensitiveImportRewriteContext; import org.eclipse.jdt.internal.corext.dom.ASTNodeFactory; import org.eclipse.jdt.internal.corext.dom.ASTNodes; import org.eclipse.jdt.internal.corext.dom.NecessaryParenthesesChecker; @@ -389,7 +391,8 @@ private Expression getModifiedInitializerSource(CompilationUnitRewrite rewrite, copy= parenthesized; } cast.setExpression(copy); - cast.setType(rewrite.getImportRewrite().addImport(explicitCast, ast)); + ImportRewriteContext context= new ContextSensitiveImportRewriteContext(reference, rewrite.getImportRewrite()); + cast.setType(rewrite.getImportRewrite().addImport(explicitCast, ast, context)); copy= cast; } else if (initializer instanceof ArrayInitializer && ASTNodes.getDimensions(varDecl) > 0) {