diff --git a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/.ratings b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/.ratings index f7bdaa7351d72809a02feefee567f9cae185ee96..3c972e10f98b8eb427b31034dbcf461c5eb39ee5 100644 --- a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/.ratings +++ b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/.ratings @@ -2,6 +2,6 @@ AdvancedTreeViewerEditorBase.java 9d9eded6848ee78991d1416592d1136efd71d2b7 GREEN FormsEditorBase.java b113501b98ffffcac362ca9f474ad02a42bde186 GREEN GEFEditorBase.java e668f596f45f07215994cbbd3929a9438331718f GREEN SourceEditorBase.java 47e69e2e6788b9897339c384cd03f9a22755037c GREEN -SourceEditorConfigurationBase.java edb5eaa20d3f6c060600422b841c668b5efccabf YELLOW +SourceEditorConfigurationBase.java f7cf7c51d7a5ef5ab997ad842e7255995aae9a60 YELLOW SourceEditorUndoRedo.java 08127a8e0afb4f9c2f4c21294ca3220282c25bf0 GREEN TreeViewerEditorBase.java 1c59689ff57c4f3cc180d85f13021fc03461ecb0 GREEN diff --git a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/SourceEditorConfigurationBase.java b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/SourceEditorConfigurationBase.java index edb5eaa20d3f6c060600422b841c668b5efccabf..f7cf7c51d7a5ef5ab997ad842e7255995aae9a60 100644 --- a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/SourceEditorConfigurationBase.java +++ b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/SourceEditorConfigurationBase.java @@ -22,7 +22,6 @@ import static org.eclipse.wb.swt.SWTResourceManager.getColor; import java.util.ArrayList; import java.util.List; -import org.apache.commons.lang3.ArrayUtils; import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.text.presentation.IPresentationReconciler; import org.eclipse.jface.text.presentation.PresentationReconciler; @@ -114,24 +113,26 @@ public abstract class SourceEditorConfigurationBase<T extends EObject> /* * FIXME (AB): Wouldn't it be cleaner and more efficient, to collect all rules in one List * that can be converted to an array at once? + * * Answer (SeBe): Yes, but you cannot directly cast the whole list to the more generic * IRule. Either, I would need to go through all lists and cast each WordRule and each * PatternRule separately to an IRule before I could merge them in one List, or I would need * to turn every initial List directly into an array and then concatenate these arrays. Both * needs more effort and computation power than the current solution. * I would therefore suggest to leave it like it is now. + * + * Answer (AB): Isn't this equivalent? This way, there is no cast necessary. */ + List<IRule> allRules = new ArrayList<IRule>(); + // word rules - List<WordRule> wordRules = getCommonRules(); - wordRules.add(getRuleSpecificToEditor()); + allRules.addAll(getCommonRules()); + allRules.add(getRuleSpecificToEditor()); // pattern rules - List<PatternRule> patternRules = new ArrayList<>(); - patternRules.add(getCommentRuleSpecificToEditor()); + allRules.add(getCommentRuleSpecificToEditor()); - IRule[] wordRuleArray = wordRules.toArray(new IRule[0]); - IRule[] patternRuleArray = patternRules.toArray(new IRule[0]); - IRule[] rules = ArrayUtils.addAll(wordRuleArray, patternRuleArray); + IRule[] rules = allRules.toArray(new IRule[0]); RuleBasedScanner scanner = new RuleBasedScanner(); scanner.setRules(rules);