This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit 1b4b875345262e1ca65a02c89e1709cb9e7c1f23
Author: Josh Tynjala <[email protected]>
AuthorDate: Wed Oct 5 10:08:24 2022 -0700

    linter: extract utility functions
---
 .../main/java/org/apache/royale/linter/LINTER.java | 191 +----------------
 .../java/org/apache/royale/linter/LinterUtils.java | 225 +++++++++++++++++++++
 2 files changed, 227 insertions(+), 189 deletions(-)

diff --git a/linter/src/main/java/org/apache/royale/linter/LINTER.java 
b/linter/src/main/java/org/apache/royale/linter/LINTER.java
index 0a55f116e..2abc08db8 100644
--- a/linter/src/main/java/org/apache/royale/linter/LINTER.java
+++ b/linter/src/main/java/org/apache/royale/linter/LINTER.java
@@ -47,51 +47,6 @@ import org.apache.royale.linter.config.ConfigurationBuffer;
 import org.apache.royale.linter.config.ConfigurationValue;
 import org.apache.royale.linter.config.Configurator;
 import org.apache.royale.linter.config.ILinterSettingsConstants;
-import org.apache.royale.linter.config.LineCommentPosition;
-import org.apache.royale.linter.rules.NoAnyTypeRule;
-import org.apache.royale.linter.rules.NoBooleanEqualityRule;
-import org.apache.royale.linter.rules.ClassNameRule;
-import org.apache.royale.linter.rules.ConstantNameRule;
-import org.apache.royale.linter.rules.NoConstructorDispatchEventRule;
-import org.apache.royale.linter.rules.NoConstructorReturnTypeRule;
-import org.apache.royale.linter.rules.NoDuplicateObjectKeysRule;
-import org.apache.royale.linter.rules.NoDynamicClassRule;
-import org.apache.royale.linter.rules.EmptyCommentRule;
-import org.apache.royale.linter.rules.EmptyFunctionBodyRule;
-import org.apache.royale.linter.rules.EmptyNestedBlockRule;
-import org.apache.royale.linter.rules.EmptyStatementRule;
-import org.apache.royale.linter.rules.FieldNameRule;
-import org.apache.royale.linter.rules.FunctionNameRule;
-import org.apache.royale.linter.rules.NoIfBooleanLiteralRule;
-import org.apache.royale.linter.rules.InterfaceNameRule;
-import org.apache.royale.linter.rules.LineCommentPositionRule;
-import org.apache.royale.linter.rules.LocalVarAndParameterNameRule;
-import org.apache.royale.linter.rules.LocalVarShadowsFieldRule;
-import org.apache.royale.linter.rules.MXMLEmptyAttributeRule;
-import org.apache.royale.linter.rules.MXMLIDRule;
-import org.apache.royale.linter.rules.MaxBlockDepthRule;
-import org.apache.royale.linter.rules.MaxParametersRule;
-import org.apache.royale.linter.rules.MissingASDocRule;
-import org.apache.royale.linter.rules.MissingConstructorSuperRule;
-import org.apache.royale.linter.rules.MissingNamespaceRule;
-import org.apache.royale.linter.rules.MissingSemicolonRule;
-import org.apache.royale.linter.rules.MissingTypeRule;
-import org.apache.royale.linter.rules.NoLeadingZeroesRule;
-import org.apache.royale.linter.rules.OverrideContainsOnlySuperCallRule;
-import org.apache.royale.linter.rules.PackageNameRule;
-import org.apache.royale.linter.rules.NoSparseArrayRule;
-import org.apache.royale.linter.rules.StaticConstantsRule;
-import org.apache.royale.linter.rules.StrictEqualityRule;
-import org.apache.royale.linter.rules.NoStringEventNameRule;
-import org.apache.royale.linter.rules.SwitchWithoutDefaultRule;
-import org.apache.royale.linter.rules.NoThisInClosureRule;
-import org.apache.royale.linter.rules.NoTraceRule;
-import org.apache.royale.linter.rules.UnsafeNegationRule;
-import org.apache.royale.linter.rules.ValidTypeofRule;
-import org.apache.royale.linter.rules.VariablesOnTopRule;
-import org.apache.royale.linter.rules.NoVoidOperatorRule;
-import org.apache.royale.linter.rules.NoWildcardImportRule;
-import org.apache.royale.linter.rules.NoWithRule;
 import org.apache.royale.utils.FilenameNormalization;
 
 /**
@@ -246,150 +201,8 @@ public class LINTER {
                                return false;
                        }
 
-                       settings = new LinterSettings();
-                       settings.ignoreProblems = 
configuration.getIgnoreParsingProblems();
-
-                       List<LinterRule> rules = new ArrayList<LinterRule>();
-                       if (configuration.getClassName()) {
-                               rules.add(new ClassNameRule());
-                       }
-                       if (configuration.getConstantName()) {
-                               rules.add(new ConstantNameRule());
-                       }
-                       if (configuration.getEmptyFunctionBody()) {
-                               rules.add(new EmptyFunctionBodyRule());
-                       }
-                       if (configuration.getEmptyNestedBlock()) {
-                               rules.add(new EmptyNestedBlockRule());
-                       }
-                       if (configuration.getFunctionName()) {
-                               rules.add(new FunctionNameRule());
-                       }
-                       if (configuration.getFieldName()) {
-                               rules.add(new FieldNameRule());
-                       }
-                       if (configuration.getOverrideSuper()) {
-                               rules.add(new 
OverrideContainsOnlySuperCallRule());
-                       }
-                       if (configuration.getEmptyComment()) {
-                               rules.add(new EmptyCommentRule());
-                       }
-                       if (configuration.getEmptyStatement()) {
-                               rules.add(new EmptyStatementRule());
-                       }
-                       if (configuration.getInterfaceName()) {
-                               rules.add(new InterfaceNameRule());
-                       }
-                       if (configuration.getLineCommentPosition() != null) {
-                               LineCommentPositionRule rule = new 
LineCommentPositionRule();
-                               rule.position = 
LineCommentPosition.valueOf(configuration.getLineCommentPosition().toUpperCase());
-                               rules.add(rule);
-                       }
-                       if (configuration.getLocalVarParamName()) {
-                               rules.add(new LocalVarAndParameterNameRule());
-                       }
-                       if (configuration.getLocalVarShadowsField()) {
-                               rules.add(new LocalVarShadowsFieldRule());
-                       }
-                       if (configuration.getMaxParams() > 0) {
-                               MaxParametersRule rule = new 
MaxParametersRule();
-                               rule.maximum = configuration.getMaxParams();
-                               rules.add(rule);
-                       }
-                       if (configuration.getMaxBlockDepth() > 0) {
-                               MaxBlockDepthRule rule = new 
MaxBlockDepthRule();
-                               rule.maximum = configuration.getMaxBlockDepth();
-                               rules.add(rule);
-                       }
-                       if (configuration.getMissingAsdoc()) {
-                               rules.add(new MissingASDocRule());
-                       }
-                       if (configuration.getMissingConstructorSuper()) {
-                               rules.add(new MissingConstructorSuperRule());
-                       }
-                       if (configuration.getMissingNamespace()) {
-                               rules.add(new MissingNamespaceRule());
-                       }
-                       if (configuration.getMissingSemicolon()) {
-                               rules.add(new MissingSemicolonRule());
-                       }
-                       if (configuration.getMissingType()) {
-                               rules.add(new MissingTypeRule());
-                       }
-                       if (configuration.getMxmlId()) {
-                               rules.add(new MXMLIDRule());
-                       }
-                       if (configuration.getMxmlEmptyAttr()) {
-                               rules.add(new MXMLEmptyAttributeRule());
-                       }
-                       if (configuration.getNoAnyType()) {
-                               rules.add(new NoAnyTypeRule());
-                       }
-                       if (configuration.getNoBooleanEquality()) {
-                               rules.add(new NoBooleanEqualityRule());
-                       }
-                       if (configuration.getNoConstructorDispatch()) {
-                               rules.add(new NoConstructorDispatchEventRule());
-                       }
-                       if (configuration.getNoConstructorReturnType()) {
-                               rules.add(new NoConstructorReturnTypeRule());
-                       }
-                       if (configuration.getNoDuplicateKeys()) {
-                               rules.add(new NoDuplicateObjectKeysRule());
-                       }
-                       if (configuration.getNoDynamicClass()) {
-                               rules.add(new NoDynamicClassRule());
-                       }
-                       if (configuration.getNoIfBoolean()) {
-                               rules.add(new NoIfBooleanLiteralRule());
-                       }
-                       if (configuration.getNoLeadingZero()) {
-                               rules.add(new NoLeadingZeroesRule());
-                       }
-                       if (configuration.getNoSparseArray()) {
-                               rules.add(new NoSparseArrayRule());
-                       }
-                       if (configuration.getNoStringEvent()) {
-                               rules.add(new NoStringEventNameRule());
-                       }
-                       if (configuration.getNoThisClosure()) {
-                               rules.add(new NoThisInClosureRule());
-                       }
-                       if (configuration.getNoTrace()) {
-                               rules.add(new NoTraceRule());
-                       }
-                       if (configuration.getNoVoidOperator()) {
-                               rules.add(new NoVoidOperatorRule());
-                       }
-                       if (configuration.getNoWildcardImport()) {
-                               rules.add(new NoWildcardImportRule());
-                       }
-                       if (configuration.getNoWith()) {
-                               rules.add(new NoWithRule());
-                       }
-                       if (configuration.getPackageName()) {
-                               rules.add(new PackageNameRule());
-                       }
-                       if (configuration.getStaticConstants()) {
-                               rules.add(new StaticConstantsRule());
-                       }
-                       if (configuration.getStrictEquality()) {
-                               rules.add(new StrictEqualityRule());
-                       }
-                       if (configuration.getSwitchDefault()) {
-                               rules.add(new SwitchWithoutDefaultRule());
-                       }
-                       if (configuration.getUnsafeNegation()) {
-                               rules.add(new UnsafeNegationRule());
-                       }
-                       if (configuration.getValidTypeof()) {
-                               rules.add(new ValidTypeofRule());
-                       }
-                       if (configuration.getVarsOnTop()) {
-                               rules.add(new VariablesOnTopRule());
-                       }
-                       settings.rules = rules;
-                       if (rules.size() == 0) {
+                       settings = 
LinterUtils.configurationToLinterSettings(configuration);
+                       if (settings.rules.size() == 0) {
                                ICompilerProblem problem = new 
ConfigurationProblem(null, -1, -1, -1, -1, "No linter rules were specified");
                                problems.add(problem);
                                return false;
diff --git a/linter/src/main/java/org/apache/royale/linter/LinterUtils.java 
b/linter/src/main/java/org/apache/royale/linter/LinterUtils.java
new file mode 100644
index 000000000..d7a4542c3
--- /dev/null
+++ b/linter/src/main/java/org/apache/royale/linter/LinterUtils.java
@@ -0,0 +1,225 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package org.apache.royale.linter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.royale.linter.config.Configuration;
+import org.apache.royale.linter.config.LineCommentPosition;
+import org.apache.royale.linter.rules.ClassNameRule;
+import org.apache.royale.linter.rules.ConstantNameRule;
+import org.apache.royale.linter.rules.EmptyCommentRule;
+import org.apache.royale.linter.rules.EmptyFunctionBodyRule;
+import org.apache.royale.linter.rules.EmptyNestedBlockRule;
+import org.apache.royale.linter.rules.EmptyStatementRule;
+import org.apache.royale.linter.rules.FieldNameRule;
+import org.apache.royale.linter.rules.FunctionNameRule;
+import org.apache.royale.linter.rules.InterfaceNameRule;
+import org.apache.royale.linter.rules.LineCommentPositionRule;
+import org.apache.royale.linter.rules.LocalVarAndParameterNameRule;
+import org.apache.royale.linter.rules.LocalVarShadowsFieldRule;
+import org.apache.royale.linter.rules.MXMLEmptyAttributeRule;
+import org.apache.royale.linter.rules.MXMLIDRule;
+import org.apache.royale.linter.rules.MaxBlockDepthRule;
+import org.apache.royale.linter.rules.MaxParametersRule;
+import org.apache.royale.linter.rules.MissingASDocRule;
+import org.apache.royale.linter.rules.MissingConstructorSuperRule;
+import org.apache.royale.linter.rules.MissingNamespaceRule;
+import org.apache.royale.linter.rules.MissingSemicolonRule;
+import org.apache.royale.linter.rules.MissingTypeRule;
+import org.apache.royale.linter.rules.NoAnyTypeRule;
+import org.apache.royale.linter.rules.NoBooleanEqualityRule;
+import org.apache.royale.linter.rules.NoConstructorDispatchEventRule;
+import org.apache.royale.linter.rules.NoConstructorReturnTypeRule;
+import org.apache.royale.linter.rules.NoDuplicateObjectKeysRule;
+import org.apache.royale.linter.rules.NoDynamicClassRule;
+import org.apache.royale.linter.rules.NoIfBooleanLiteralRule;
+import org.apache.royale.linter.rules.NoLeadingZeroesRule;
+import org.apache.royale.linter.rules.NoSparseArrayRule;
+import org.apache.royale.linter.rules.NoStringEventNameRule;
+import org.apache.royale.linter.rules.NoThisInClosureRule;
+import org.apache.royale.linter.rules.NoTraceRule;
+import org.apache.royale.linter.rules.NoVoidOperatorRule;
+import org.apache.royale.linter.rules.NoWildcardImportRule;
+import org.apache.royale.linter.rules.NoWithRule;
+import org.apache.royale.linter.rules.OverrideContainsOnlySuperCallRule;
+import org.apache.royale.linter.rules.PackageNameRule;
+import org.apache.royale.linter.rules.StaticConstantsRule;
+import org.apache.royale.linter.rules.StrictEqualityRule;
+import org.apache.royale.linter.rules.SwitchWithoutDefaultRule;
+import org.apache.royale.linter.rules.UnsafeNegationRule;
+import org.apache.royale.linter.rules.ValidTypeofRule;
+import org.apache.royale.linter.rules.VariablesOnTopRule;
+
+public class LinterUtils {
+       public static LinterSettings 
configurationToLinterSettings(Configuration configuration) {
+               LinterSettings settings = new LinterSettings();
+               settings.ignoreProblems = 
configuration.getIgnoreParsingProblems();
+
+               List<LinterRule> rules = 
LinterUtils.configurationToRules(configuration);
+               settings.rules = rules;
+
+               return settings;
+       }
+
+       public static List<LinterRule> configurationToRules(Configuration 
configuration) {
+               List<LinterRule> rules = new ArrayList<LinterRule>();
+               if (configuration.getClassName()) {
+                       rules.add(new ClassNameRule());
+               }
+               if (configuration.getConstantName()) {
+                       rules.add(new ConstantNameRule());
+               }
+               if (configuration.getEmptyFunctionBody()) {
+                       rules.add(new EmptyFunctionBodyRule());
+               }
+               if (configuration.getEmptyNestedBlock()) {
+                       rules.add(new EmptyNestedBlockRule());
+               }
+               if (configuration.getFunctionName()) {
+                       rules.add(new FunctionNameRule());
+               }
+               if (configuration.getFieldName()) {
+                       rules.add(new FieldNameRule());
+               }
+               if (configuration.getOverrideSuper()) {
+                       rules.add(new OverrideContainsOnlySuperCallRule());
+               }
+               if (configuration.getEmptyComment()) {
+                       rules.add(new EmptyCommentRule());
+               }
+               if (configuration.getEmptyStatement()) {
+                       rules.add(new EmptyStatementRule());
+               }
+               if (configuration.getInterfaceName()) {
+                       rules.add(new InterfaceNameRule());
+               }
+               if (configuration.getLineCommentPosition() != null) {
+                       LineCommentPositionRule rule = new 
LineCommentPositionRule();
+                       rule.position = 
LineCommentPosition.valueOf(configuration.getLineCommentPosition().toUpperCase());
+                       rules.add(rule);
+               }
+               if (configuration.getLocalVarParamName()) {
+                       rules.add(new LocalVarAndParameterNameRule());
+               }
+               if (configuration.getLocalVarShadowsField()) {
+                       rules.add(new LocalVarShadowsFieldRule());
+               }
+               if (configuration.getMaxParams() > 0) {
+                       MaxParametersRule rule = new MaxParametersRule();
+                       rule.maximum = configuration.getMaxParams();
+                       rules.add(rule);
+               }
+               if (configuration.getMaxBlockDepth() > 0) {
+                       MaxBlockDepthRule rule = new MaxBlockDepthRule();
+                       rule.maximum = configuration.getMaxBlockDepth();
+                       rules.add(rule);
+               }
+               if (configuration.getMissingAsdoc()) {
+                       rules.add(new MissingASDocRule());
+               }
+               if (configuration.getMissingConstructorSuper()) {
+                       rules.add(new MissingConstructorSuperRule());
+               }
+               if (configuration.getMissingNamespace()) {
+                       rules.add(new MissingNamespaceRule());
+               }
+               if (configuration.getMissingSemicolon()) {
+                       rules.add(new MissingSemicolonRule());
+               }
+               if (configuration.getMissingType()) {
+                       rules.add(new MissingTypeRule());
+               }
+               if (configuration.getMxmlId()) {
+                       rules.add(new MXMLIDRule());
+               }
+               if (configuration.getMxmlEmptyAttr()) {
+                       rules.add(new MXMLEmptyAttributeRule());
+               }
+               if (configuration.getNoAnyType()) {
+                       rules.add(new NoAnyTypeRule());
+               }
+               if (configuration.getNoBooleanEquality()) {
+                       rules.add(new NoBooleanEqualityRule());
+               }
+               if (configuration.getNoConstructorDispatch()) {
+                       rules.add(new NoConstructorDispatchEventRule());
+               }
+               if (configuration.getNoConstructorReturnType()) {
+                       rules.add(new NoConstructorReturnTypeRule());
+               }
+               if (configuration.getNoDuplicateKeys()) {
+                       rules.add(new NoDuplicateObjectKeysRule());
+               }
+               if (configuration.getNoDynamicClass()) {
+                       rules.add(new NoDynamicClassRule());
+               }
+               if (configuration.getNoIfBoolean()) {
+                       rules.add(new NoIfBooleanLiteralRule());
+               }
+               if (configuration.getNoLeadingZero()) {
+                       rules.add(new NoLeadingZeroesRule());
+               }
+               if (configuration.getNoSparseArray()) {
+                       rules.add(new NoSparseArrayRule());
+               }
+               if (configuration.getNoStringEvent()) {
+                       rules.add(new NoStringEventNameRule());
+               }
+               if (configuration.getNoThisClosure()) {
+                       rules.add(new NoThisInClosureRule());
+               }
+               if (configuration.getNoTrace()) {
+                       rules.add(new NoTraceRule());
+               }
+               if (configuration.getNoVoidOperator()) {
+                       rules.add(new NoVoidOperatorRule());
+               }
+               if (configuration.getNoWildcardImport()) {
+                       rules.add(new NoWildcardImportRule());
+               }
+               if (configuration.getNoWith()) {
+                       rules.add(new NoWithRule());
+               }
+               if (configuration.getPackageName()) {
+                       rules.add(new PackageNameRule());
+               }
+               if (configuration.getStaticConstants()) {
+                       rules.add(new StaticConstantsRule());
+               }
+               if (configuration.getStrictEquality()) {
+                       rules.add(new StrictEqualityRule());
+               }
+               if (configuration.getSwitchDefault()) {
+                       rules.add(new SwitchWithoutDefaultRule());
+               }
+               if (configuration.getUnsafeNegation()) {
+                       rules.add(new UnsafeNegationRule());
+               }
+               if (configuration.getValidTypeof()) {
+                       rules.add(new ValidTypeofRule());
+               }
+               if (configuration.getVarsOnTop()) {
+                       rules.add(new VariablesOnTopRule());
+               }
+               return rules;
+       }
+}

Reply via email to