|
Lines 14-20
Link Here
|
| 14 |
import org.eclipse.core.runtime.CoreException; |
14 |
import org.eclipse.core.runtime.CoreException; |
| 15 |
|
15 |
|
| 16 |
import org.eclipse.jdt.core.ICompilationUnit; |
16 |
import org.eclipse.jdt.core.ICompilationUnit; |
| 17 |
|
|
|
| 18 |
import org.eclipse.jdt.core.dom.AST; |
17 |
import org.eclipse.jdt.core.dom.AST; |
| 19 |
import org.eclipse.jdt.core.dom.ASTNode; |
18 |
import org.eclipse.jdt.core.dom.ASTNode; |
| 20 |
import org.eclipse.jdt.core.dom.CastExpression; |
19 |
import org.eclipse.jdt.core.dom.CastExpression; |
|
Lines 29-36
Link Here
|
| 29 |
import org.eclipse.jdt.core.dom.Type; |
28 |
import org.eclipse.jdt.core.dom.Type; |
| 30 |
import org.eclipse.jdt.core.dom.rewrite.ASTRewrite; |
29 |
import org.eclipse.jdt.core.dom.rewrite.ASTRewrite; |
| 31 |
import org.eclipse.jdt.core.dom.rewrite.ImportRewrite; |
30 |
import org.eclipse.jdt.core.dom.rewrite.ImportRewrite; |
|
|
31 |
import org.eclipse.jdt.core.dom.rewrite.ImportRewrite.ImportRewriteContext; |
| 32 |
|
32 |
|
|
|
33 |
import org.eclipse.jdt.internal.corext.codemanipulation.ContextSensitiveImportRewriteContext; |
| 33 |
import org.eclipse.jdt.internal.corext.dom.ASTNodeFactory; |
34 |
import org.eclipse.jdt.internal.corext.dom.ASTNodeFactory; |
|
|
35 |
|
| 34 |
import org.eclipse.jdt.internal.ui.JavaPluginImages; |
36 |
import org.eclipse.jdt.internal.ui.JavaPluginImages; |
| 35 |
|
37 |
|
| 36 |
public class CastCompletionProposal extends LinkedCorrectionProposal { |
38 |
public class CastCompletionProposal extends LinkedCorrectionProposal { |
|
Lines 56-66
Link Here
|
| 56 |
|
58 |
|
| 57 |
private Type getNewCastTypeNode(ASTRewrite rewrite, ImportRewrite importRewrite) throws CoreException { |
59 |
private Type getNewCastTypeNode(ASTRewrite rewrite, ImportRewrite importRewrite) throws CoreException { |
| 58 |
AST ast= rewrite.getAST(); |
60 |
AST ast= rewrite.getAST(); |
|
|
61 |
|
| 62 |
ImportRewriteContext context= new ContextSensitiveImportRewriteContext((CompilationUnit) fNodeToCast.getRoot(), fNodeToCast.getStartPosition(), importRewrite); |
| 63 |
|
| 59 |
if (fCastType != null) { |
64 |
if (fCastType != null) { |
| 60 |
if (fCastType instanceof ITypeBinding) { |
65 |
if (fCastType instanceof ITypeBinding) { |
| 61 |
return importRewrite.addImport((ITypeBinding) fCastType, ast); |
66 |
return importRewrite.addImport((ITypeBinding) fCastType, ast, context); |
| 62 |
} else { |
67 |
} else { |
| 63 |
String string= importRewrite.addImport((String) fCastType); |
68 |
String string= importRewrite.addImport((String) fCastType, context); |
| 64 |
return ASTNodeFactory.newType(ast, string); |
69 |
return ASTNodeFactory.newType(ast, string); |
| 65 |
} |
70 |
} |
| 66 |
} |
71 |
} |
|
Lines 83-89
Link Here
|
| 83 |
if (bindings.length > 0) { |
88 |
if (bindings.length > 0) { |
| 84 |
ITypeBinding first= getCastFavorite(bindings, fNodeToCast.resolveTypeBinding()); |
89 |
ITypeBinding first= getCastFavorite(bindings, fNodeToCast.resolveTypeBinding()); |
| 85 |
|
90 |
|
| 86 |
Type newTypeNode= importRewrite.addImport(first, ast); |
91 |
Type newTypeNode= importRewrite.addImport(first, ast, context); |
| 87 |
addLinkedPosition(rewrite.track(newTypeNode), true, "casttype"); //$NON-NLS-1$ |
92 |
addLinkedPosition(rewrite.track(newTypeNode), true, "casttype"); //$NON-NLS-1$ |
| 88 |
for (int i= 0; i < bindings.length; i++) { |
93 |
for (int i= 0; i < bindings.length; i++) { |
| 89 |
addLinkedPositionProposal("casttype", bindings[i]); //$NON-NLS-1$ |
94 |
addLinkedPositionProposal("casttype", bindings[i]); //$NON-NLS-1$ |