1 11 package org.eclipse.jdt.internal.ui.text.correction; 12 13 import java.util.Collection ; 14 15 import org.eclipse.swt.graphics.Image; 16 17 import org.eclipse.jdt.core.ICompilationUnit; 18 import org.eclipse.jdt.core.dom.ASTNode; 19 import org.eclipse.jdt.core.dom.CompilationUnit; 20 import org.eclipse.jdt.core.dom.ParameterizedType; 21 import org.eclipse.jdt.core.dom.SimpleName; 22 import org.eclipse.jdt.core.dom.rewrite.ASTRewrite; 23 24 import org.eclipse.jdt.internal.corext.dom.ASTNodes; 25 26 import org.eclipse.jdt.ui.text.java.IInvocationContext; 27 import org.eclipse.jdt.ui.text.java.IProblemLocation; 28 29 import org.eclipse.jdt.internal.ui.JavaPluginImages; 30 31 32 public class TypeParameterMismatchSubProcessor { 33 34 public static void getTypeParameterMismatchProposals(IInvocationContext context, IProblemLocation problem, Collection proposals) { 35 CompilationUnit astRoot= context.getASTRoot(); 36 ASTNode selectedNode= problem.getCoveredNode(astRoot); 37 if (!(selectedNode instanceof SimpleName)) { 38 return; 39 } 40 41 ASTNode normalizedNode= ASTNodes.getNormalizedNode(selectedNode); 42 if (!(normalizedNode instanceof ParameterizedType)) { 43 return; 44 } 45 47 48 } 49 50 public static void removeMismatchedParameters(IInvocationContext context, IProblemLocation problem, Collection proposals){ 51 ICompilationUnit cu= context.getCompilationUnit(); 52 ASTNode selectedNode= problem.getCoveredNode(context.getASTRoot()); 53 if (!(selectedNode instanceof SimpleName)) { 54 return; 55 } 56 57 ASTNode normalizedNode=ASTNodes.getNormalizedNode(selectedNode); 58 if (normalizedNode instanceof ParameterizedType) { 59 ASTRewrite rewrite = ASTRewrite.create(normalizedNode.getAST()); 60 ParameterizedType pt = (ParameterizedType) normalizedNode; 61 ASTNode mt = rewrite.createMoveTarget(pt.getType()); 62 rewrite.replace(pt, mt, null); 63 String label= CorrectionMessages.TypeParameterMismatchSubProcessor_removeTypeParameter; 64 Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_CHANGE); 65 ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, cu, rewrite, 6, image); 66 proposals.add(proposal); 67 } 68 } 69 70 } 71 | Popular Tags |