From a1af8e1a3aeb710e9e793a8c27371a882f1ec1d5 Mon Sep 17 00:00:00 2001 From: Andreas Bayha <bayha@fortiss.org> Date: Fri, 14 Jul 2023 18:18:06 +0200 Subject: [PATCH] YELLOW Issue-ref: 4299 Issue-Url: https://git.fortiss.org/af3/af3/-/issues/4299 Signed-off-by: Andreas Bayha <bayha@fortiss.org> --- .../org/fortiss/tooling/base/ui/editor/.ratings | 2 +- .../editor/SourceEditorConfigurationBase.java | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) 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 f7bdaa735..3c972e10f 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 edb5eaa20..f7cf7c51d 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); -- GitLab