|
From: <caw...@us...> - 2007-08-15 19:33:00
|
Revision: 2987
http://rubyeclipse.svn.sourceforge.net/rubyeclipse/?rev=2987&view=rev
Author: cawilliams
Date: 2007-08-15 12:32:59 -0700 (Wed, 15 Aug 2007)
Log Message:
-----------
add some hacky quick fixes for mis-spelled constructor method and constant that isn't all upper case
Modified Paths:
--------------
trunk/com.aptana.rdt.ui/src/com/aptana/rdt/internal/ui/text/correction/LocalCorrectionsSubProcessor.java
trunk/com.aptana.rdt.ui/src/com/aptana/rdt/internal/ui/text/correction/QuickFixProcessor.java
Modified: trunk/com.aptana.rdt.ui/src/com/aptana/rdt/internal/ui/text/correction/LocalCorrectionsSubProcessor.java
===================================================================
--- trunk/com.aptana.rdt.ui/src/com/aptana/rdt/internal/ui/text/correction/LocalCorrectionsSubProcessor.java 2007-08-15 19:12:37 UTC (rev 2986)
+++ trunk/com.aptana.rdt.ui/src/com/aptana/rdt/internal/ui/text/correction/LocalCorrectionsSubProcessor.java 2007-08-15 19:32:59 UTC (rev 2987)
@@ -17,4 +17,10 @@
proposals.add(proposal);
}
+ public static void addReplacementProposal(String replacement, String display, IProblemLocation problem, Collection<IRubyCompletionProposal> proposals) {
+ Image image= RubyPlugin.getDefault().getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
+ CorrectionProposal proposal = new CorrectionProposal(replacement, problem.getOffset(), problem.getLength(), image, display, 100);
+ proposals.add(proposal);
+ }
+
}
Modified: trunk/com.aptana.rdt.ui/src/com/aptana/rdt/internal/ui/text/correction/QuickFixProcessor.java
===================================================================
--- trunk/com.aptana.rdt.ui/src/com/aptana/rdt/internal/ui/text/correction/QuickFixProcessor.java 2007-08-15 19:12:37 UTC (rev 2986)
+++ trunk/com.aptana.rdt.ui/src/com/aptana/rdt/internal/ui/text/correction/QuickFixProcessor.java 2007-08-15 19:32:59 UTC (rev 2987)
@@ -12,6 +12,9 @@
import org.rubypeople.rdt.ui.text.ruby.IQuickFixProcessor;
import org.rubypeople.rdt.ui.text.ruby.IRubyCompletionProposal;
+import com.aptana.rdt.internal.parser.warnings.ConstantNamingConvention;
+import com.aptana.rdt.internal.parser.warnings.MisspelledConstructorVisitor;
+
public class QuickFixProcessor implements IQuickFixProcessor {
public IRubyCompletionProposal[] getCorrections(IInvocationContext context, IProblemLocation[] locations) throws CoreException {
@@ -19,7 +22,7 @@
return null;
}
- HashSet handledProblems = new HashSet(locations.length);
+ HashSet<Integer> handledProblems = new HashSet<Integer>(locations.length);
ArrayList<IRubyCompletionProposal> resultingCollections = new ArrayList<IRubyCompletionProposal>();
for (int i = 0; i < locations.length; i++) {
IProblemLocation curr = locations[i];
@@ -43,6 +46,15 @@
case IProblem.ArgumentIsNeverUsed:
LocalCorrectionsSubProcessor.addUnusedMemberProposal(context, problem, proposals);
break;
+ case MisspelledConstructorVisitor.PROBLEM_ID:
+ LocalCorrectionsSubProcessor.addReplacementProposal("initialize\n", "Rename to 'initialize'", problem, proposals);
+ break;
+ case ConstantNamingConvention.PROBLEM_ID:
+ IRubyScript script = context.getRubyScript();
+ String src = script.getSource();
+ String constName = src.substring(problem.getOffset(), problem.getOffset() + problem.getLength());
+ LocalCorrectionsSubProcessor.addReplacementProposal(constName.toUpperCase(), "Convert to all uppercase", problem, proposals);
+ break;
default:
}
}
@@ -53,6 +65,8 @@
case IProblem.UnusedPrivateField:
case IProblem.LocalVariableIsNeverUsed:
case IProblem.ArgumentIsNeverUsed:
+ case MisspelledConstructorVisitor.PROBLEM_ID:
+ case ConstantNamingConvention.PROBLEM_ID:
return true;
default:
return false;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|