|
From: <caw...@us...> - 2007-08-15 19:12:39
|
Revision: 2986
http://rubyeclipse.svn.sourceforge.net/rubyeclipse/?rev=2986&view=rev
Author: cawilliams
Date: 2007-08-15 12:12:37 -0700 (Wed, 15 Aug 2007)
Log Message:
-----------
when putting problems into ReconcileContext, presever already existing problems
Modified Paths:
--------------
trunk/com.aptana.rdt/src/com/aptana/rdt/internal/parser/warnings/RubyRedLint.java
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/internal/parser/warnings/RubyRedLint.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/internal/parser/warnings/RubyRedLint.java 2007-08-15 19:12:15 UTC (rev 2985)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/internal/parser/warnings/RubyRedLint.java 2007-08-15 19:12:37 UTC (rev 2986)
@@ -29,8 +29,24 @@
RootNode node = context.getAST();
if (node == null) return;
node.accept(visitor);
- List<CategorizedProblem> problems = visitor.getProblems();
- context.putProblems(IRubyModelMarker.RUBY_MODEL_PROBLEM_MARKER, problems.toArray(new CategorizedProblem[problems.size()]));
+ List<CategorizedProblem> problems = visitor.getProblems();
+ CategorizedProblem[] oldProblems = context.getProblems(IRubyModelMarker.RUBY_MODEL_PROBLEM_MARKER);
+ if (oldProblems == null || oldProblems.length == 0) {
+ context.putProblems(IRubyModelMarker.RUBY_MODEL_PROBLEM_MARKER, problems.toArray(new CategorizedProblem[problems.size()]));
+ } else {
+ CategorizedProblem[] combined = new CategorizedProblem[problems
+ .size()
+ + oldProblems.length];
+ for (int i = 0; i < oldProblems.length; i++) {
+ combined[i] = oldProblems[i];
+ }
+ int j = oldProblems.length;
+ for (CategorizedProblem problem : problems) {
+ combined[j++] = problem;
+ }
+ context.putProblems(IRubyModelMarker.RUBY_MODEL_PROBLEM_MARKER,
+ combined);
+ }
} catch (RubyModelException e) {
AptanaRDTPlugin.log(e);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|