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


The following commit(s) were added to refs/heads/develop by this push:
     new ac2caebac linter: rename some rules for clarity
ac2caebac is described below

commit ac2caebac21263a91d2ba81e24333fbca5f782c3
Author: Josh Tynjala <[email protected]>
AuthorDate: Tue Sep 27 09:28:39 2022 -0700

    linter: rename some rules for clarity
---
 .../main/java/org/apache/royale/linter/LINTER.java | 120 +++---
 .../apache/royale/linter/config/Configuration.java | 448 ++++++++++-----------
 .../rules/{AnyTypeRule.java => NoAnyTypeRule.java} |  20 +-
 ...qualityRule.java => NoBooleanEqualityRule.java} |  10 +-
 ...le.java => NoConstructorDispatchEventRule.java} |  10 +-
 ...eRule.java => NoConstructorReturnTypeRule.java} |   8 +-
 ...eysRule.java => NoDuplicateObjectKeysRule.java} |   8 +-
 ...namicClassRule.java => NoDynamicClassRule.java} |   8 +-
 ...iteralRule.java => NoIfBooleanLiteralRule.java} |   8 +-
 ...ingZeroesRule.java => NoLeadingZeroesRule.java} |   8 +-
 ...SparseArrayRule.java => NoSparseArrayRule.java} |   8 +-
 ...entNameRule.java => NoStringEventNameRule.java} |   8 +-
 ...InClosureRule.java => NoThisInClosureRule.java} |   8 +-
 .../rules/{TraceRule.java => NoTraceRule.java}     |   8 +-
 ...idOperatorRule.java => NoVoidOperatorRule.java} |   8 +-
 ...rdImportRule.java => NoWildcardImportRule.java} |   8 +-
 .../rules/{WithRule.java => NoWithRule.java}       |   8 +-
 17 files changed, 352 insertions(+), 352 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 85a855985..0a55f116e 100644
--- a/linter/src/main/java/org/apache/royale/linter/LINTER.java
+++ b/linter/src/main/java/org/apache/royale/linter/LINTER.java
@@ -48,21 +48,21 @@ 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.AnyTypeRule;
-import org.apache.royale.linter.rules.BooleanEqualityRule;
+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.ConstructorDispatchEventRule;
-import org.apache.royale.linter.rules.ConstructorReturnTypeRule;
-import org.apache.royale.linter.rules.DuplicateObjectKeysRule;
-import org.apache.royale.linter.rules.DynamicClassRule;
+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.IfBooleanLiteralRule;
+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;
@@ -76,22 +76,22 @@ 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.NumericLeadingZeroesRule;
+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.SparseArrayRule;
+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.StringEventNameRule;
+import org.apache.royale.linter.rules.NoStringEventNameRule;
 import org.apache.royale.linter.rules.SwitchWithoutDefaultRule;
-import org.apache.royale.linter.rules.ThisInClosureRule;
-import org.apache.royale.linter.rules.TraceRule;
+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.VoidOperatorRule;
-import org.apache.royale.linter.rules.WildcardImportRule;
-import org.apache.royale.linter.rules.WithRule;
+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;
 
 /**
@@ -250,33 +250,12 @@ public class LINTER {
                        settings.ignoreProblems = 
configuration.getIgnoreParsingProblems();
 
                        List<LinterRule> rules = new ArrayList<LinterRule>();
-                       if (configuration.getAnyType()) {
-                               rules.add(new AnyTypeRule());
-                       }
-                       if (configuration.getBooleanEquality()) {
-                               rules.add(new BooleanEqualityRule());
-                       }
                        if (configuration.getClassName()) {
                                rules.add(new ClassNameRule());
                        }
                        if (configuration.getConstantName()) {
                                rules.add(new ConstantNameRule());
                        }
-                       if (configuration.getConstructorReturnType()) {
-                               rules.add(new ConstructorReturnTypeRule());
-                       }
-                       if (configuration.getConstructorDispatchEvent()) {
-                               rules.add(new ConstructorDispatchEventRule());
-                       }
-                       if (configuration.getDuplicateObjectKeys()) {
-                               rules.add(new DuplicateObjectKeysRule());
-                       }
-                       if (configuration.getDynamicClass()) {
-                               rules.add(new DynamicClassRule());
-                       }
-                       if (configuration.getThisClosure()) {
-                               rules.add(new ThisInClosureRule());
-                       }
                        if (configuration.getEmptyFunctionBody()) {
                                rules.add(new EmptyFunctionBodyRule());
                        }
@@ -298,15 +277,9 @@ public class LINTER {
                        if (configuration.getEmptyStatement()) {
                                rules.add(new EmptyStatementRule());
                        }
-                       if (configuration.getIfBoolean()) {
-                               rules.add(new IfBooleanLiteralRule());
-                       }
                        if (configuration.getInterfaceName()) {
                                rules.add(new InterfaceNameRule());
                        }
-                       if (configuration.getLeadingZero()) {
-                               rules.add(new NumericLeadingZeroesRule());
-                       }
                        if (configuration.getLineCommentPosition() != null) {
                                LineCommentPositionRule rule = new 
LineCommentPositionRule();
                                rule.position = 
LineCommentPosition.valueOf(configuration.getLineCommentPosition().toUpperCase());
@@ -349,27 +322,63 @@ public class LINTER {
                        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.getSparseArray()) {
-                               rules.add(new SparseArrayRule());
-                       }
                        if (configuration.getStaticConstants()) {
                                rules.add(new StaticConstantsRule());
                        }
                        if (configuration.getStrictEquality()) {
                                rules.add(new StrictEqualityRule());
                        }
-                       if (configuration.getStringEvent()) {
-                               rules.add(new StringEventNameRule());
-                       }
                        if (configuration.getSwitchDefault()) {
                                rules.add(new SwitchWithoutDefaultRule());
                        }
-                       if (configuration.getTrace()) {
-                               rules.add(new TraceRule());
-                       }
                        if (configuration.getUnsafeNegation()) {
                                rules.add(new UnsafeNegationRule());
                        }
@@ -379,15 +388,6 @@ public class LINTER {
                        if (configuration.getVarsOnTop()) {
                                rules.add(new VariablesOnTopRule());
                        }
-                       if (configuration.getVoidOperator()) {
-                               rules.add(new VoidOperatorRule());
-                       }
-                       if (configuration.getWildcardImport()) {
-                               rules.add(new WildcardImportRule());
-                       }
-                       if (configuration.getWith()) {
-                               rules.add(new WithRule());
-                       }
                        settings.rules = rules;
                        if (rules.size() == 0) {
                                ICompilerProblem problem = new 
ConfigurationProblem(null, -1, -1, -1, -1, "No linter rules were specified");
diff --git 
a/linter/src/main/java/org/apache/royale/linter/config/Configuration.java 
b/linter/src/main/java/org/apache/royale/linter/config/Configuration.java
index 90ad94003..6d920f615 100644
--- a/linter/src/main/java/org/apache/royale/linter/config/Configuration.java
+++ b/linter/src/main/java/org/apache/royale/linter/config/Configuration.java
@@ -231,38 +231,6 @@ public class Configuration {
         this.ignoreParsingProblems = b;
     }
 
-    //
-    // 'any-type' option
-    //
-
-    private boolean anyType = false;
-
-    public boolean getAnyType() {
-        return anyType;
-    }
-
-    @Config
-    @Mapping("any-type")
-    public void setAnyType(ConfigurationValue cv, boolean b) {
-        this.anyType = b;
-    }
-
-    //
-    // 'boolean-equality' option
-    //
-
-    private boolean booleanEquality = false;
-
-    public boolean getBooleanEquality() {
-        return booleanEquality;
-    }
-
-    @Config
-    @Mapping("boolean-equality")
-    public void setBooleanEquality(ConfigurationValue cv, boolean b) {
-        this.booleanEquality = b;
-    }
-
     //
     // 'class-name' option
     //
@@ -295,70 +263,6 @@ public class Configuration {
         this.constantName = b;
     }
 
-    //
-    // 'duplicate-object-keys' option
-    //
-
-    private boolean duplicateObjectKeys = true;
-
-    public boolean getDuplicateObjectKeys() {
-        return duplicateObjectKeys;
-    }
-
-    @Config
-    @Mapping("duplicate-object-keys")
-    public void setDuplicateObjectKeys(ConfigurationValue cv, boolean b) {
-        this.duplicateObjectKeys = b;
-    }
-
-    //
-    // 'constructor-dispatch-event' option
-    //
-
-    private boolean constructorDispatchEvent = false;
-
-    public boolean getConstructorDispatchEvent() {
-        return constructorDispatchEvent;
-    }
-
-    @Config
-    @Mapping("constructor-dispatch-event")
-    public void setConstructorDispatchEvent(ConfigurationValue cv, boolean b) {
-        this.constructorDispatchEvent = b;
-    }
-
-    //
-    // 'constructor-return-type' option
-    //
-
-    private boolean constructorReturnType = false;
-
-    public boolean getConstructorReturnType() {
-        return constructorReturnType;
-    }
-
-    @Config
-    @Mapping("constructor-return-type")
-    public void setConstructorReturnType(ConfigurationValue cv, boolean b) {
-        this.constructorReturnType = b;
-    }
-
-    //
-    // 'dynamic-class' option
-    //
-
-    private boolean dynamicClass = false;
-
-    public boolean getDynamicClass() {
-        return dynamicClass;
-    }
-
-    @Config
-    @Mapping("dynamic-class")
-    public void setDynamicClass(ConfigurationValue cv, boolean b) {
-        this.dynamicClass = b;
-    }
-
     //
     // 'empty-comment' option
     //
@@ -455,22 +359,6 @@ public class Configuration {
         this.functionName = b;
     }
 
-    //
-    // 'if-boolean' option
-    //
-
-    private boolean ifBoolean = true;
-
-    public boolean getIfBoolean() {
-        return ifBoolean;
-    }
-
-    @Config
-    @Mapping("if-boolean")
-    public void setIfBoolean(ConfigurationValue cv, boolean b) {
-        this.ifBoolean = b;
-    }
-
     //
     // 'interface-name' option
     //
@@ -683,259 +571,371 @@ public class Configuration {
     }
 
     //
-    // 'leading-zero' option
+    // 'no-any-type' option
     //
 
-    private boolean leadingZero = true;
+    private boolean noAnyType = false;
 
-    public boolean getLeadingZero() {
-        return leadingZero;
+    public boolean getNoAnyType() {
+        return noAnyType;
     }
 
     @Config
-    @Mapping("leading-zero")
-    public void setLeadingZero(ConfigurationValue cv, boolean b) {
-        this.leadingZero = b;
+    @Mapping("no-any-type")
+    public void setNoAnyType(ConfigurationValue cv, boolean b) {
+        this.noAnyType = b;
     }
 
     //
-    // 'override-super' option
+    // 'no-boolean-equality' option
     //
 
-    private boolean overrideSuper = false;
+    private boolean noBooleanEquality = false;
 
-    public boolean getOverrideSuper() {
-        return overrideSuper;
+    public boolean getNoBooleanEquality() {
+        return noBooleanEquality;
     }
 
     @Config
-    @Mapping("override-super")
-    public void setOverrideSuper(ConfigurationValue cv, boolean b) {
-        this.overrideSuper = b;
+    @Mapping("no-boolean-equality")
+    public void setNoBooleanEquality(ConfigurationValue cv, boolean b) {
+        this.noBooleanEquality = b;
     }
 
     //
-    // 'package-name' option
+    // 'no-constructor-dispatch' option
     //
 
-    private boolean packageName = false;
+    private boolean noConstructorDispatch = false;
 
-    public boolean getPackageName() {
-        return packageName;
+    public boolean getNoConstructorDispatch() {
+        return noConstructorDispatch;
     }
 
     @Config
-    @Mapping("package-name")
-    public void setPackageName(ConfigurationValue cv, boolean b) {
-        this.packageName = b;
+    @Mapping("no-constructor-dispatch")
+    public void setNoConstructorDispatch(ConfigurationValue cv, boolean b) {
+        this.noConstructorDispatch = b;
     }
 
     //
-    // 'sparse-array' option
+    // 'no-constructor-return-type' option
     //
 
-    private boolean sparseArray = true;
+    private boolean noConstructorReturnType = false;
 
-    public boolean getSparseArray() {
-        return sparseArray;
+    public boolean getNoConstructorReturnType() {
+        return noConstructorReturnType;
     }
 
     @Config
-    @Mapping("sparse-array")
-    public void setSparseArray(ConfigurationValue cv, boolean b) {
-        this.sparseArray = b;
+    @Mapping("no-constructor-return-type")
+    public void setNoConstructorReturnType(ConfigurationValue cv, boolean b) {
+        this.noConstructorReturnType = b;
     }
 
     //
-    // 'static-constants' option
+    // 'no-duplicate-keys' option
     //
 
-    private boolean staticConstants = false;
+    private boolean noDuplicateKeys = true;
 
-    public boolean getStaticConstants() {
-        return staticConstants;
+    public boolean getNoDuplicateKeys() {
+        return noDuplicateKeys;
     }
 
     @Config
-    @Mapping("static-constants")
-    public void setStaticConstants(ConfigurationValue cv, boolean b) {
-        this.staticConstants = b;
+    @Mapping("no-duplicate-keys")
+    public void setNoDuplicateKeys(ConfigurationValue cv, boolean b) {
+        this.noDuplicateKeys = b;
     }
 
     //
-    // 'strict-equality' option
+    // 'no-dynamic-class' option
     //
 
-    private boolean strictEquality = false;
+    private boolean noDynamicClass = false;
 
-    public boolean getStrictEquality() {
-        return strictEquality;
+    public boolean getNoDynamicClass() {
+        return noDynamicClass;
     }
 
     @Config
-    @Mapping("strict-equality")
-    public void setStrictEquality(ConfigurationValue cv, boolean b) {
-        this.strictEquality = b;
+    @Mapping("no-dynamic-class")
+    public void setNoDynamicClass(ConfigurationValue cv, boolean b) {
+        this.noDynamicClass = b;
     }
 
     //
-    // 'string-event' option
+    // 'no-if-boolean' option
     //
 
-    private boolean stringEvent = false;
+    private boolean noIfBoolean = true;
 
-    public boolean getStringEvent() {
-        return stringEvent;
+    public boolean getNoIfBoolean() {
+        return noIfBoolean;
     }
 
     @Config
-    @Mapping("string-event")
-    public void setStringEvent(ConfigurationValue cv, boolean b) {
-        this.stringEvent = b;
+    @Mapping("no-if-boolean")
+    public void setNoIfBoolean(ConfigurationValue cv, boolean b) {
+        this.noIfBoolean = b;
     }
 
     //
-    // 'switch-default' option
+    // 'no-leading-zero' option
     //
 
-    private boolean switchDefault = false;
+    private boolean noLeadingZero = true;
 
-    public boolean getSwitchDefault() {
-        return switchDefault;
+    public boolean getNoLeadingZero() {
+        return noLeadingZero;
     }
 
     @Config
-    @Mapping("switch-default")
-    public void setSwitchDefault(ConfigurationValue cv, boolean b) {
-        this.switchDefault = b;
+    @Mapping("no-leading-zero")
+    public void setNoLeadingZero(ConfigurationValue cv, boolean b) {
+        this.noLeadingZero = b;
     }
 
     //
-    // 'this-closure' option
+    // 'no-sparse-array' option
     //
 
-    private boolean thisClosure = false;
+    private boolean noSparseArray = true;
 
-    public boolean getThisClosure() {
-        return thisClosure;
+    public boolean getNoSparseArray() {
+        return noSparseArray;
     }
 
     @Config
-    @Mapping("this-closure")
-    public void setThisClosure(ConfigurationValue cv, boolean b) {
-        this.thisClosure = b;
+    @Mapping("no-sparse-array")
+    public void setNoSparseArray(ConfigurationValue cv, boolean b) {
+        this.noSparseArray = b;
     }
 
     //
-    // 'trace' option
+    // 'no-string-event' option
     //
 
-    private boolean trace = false;
+    private boolean noStringEvent = false;
 
-    public boolean getTrace() {
-        return trace;
+    public boolean getNoStringEvent() {
+        return noStringEvent;
     }
 
     @Config
-    @Mapping("trace")
-    public void setTrace(ConfigurationValue cv, boolean b) {
-        this.trace = b;
+    @Mapping("no-string-event")
+    public void setNoStringEvent(ConfigurationValue cv, boolean b) {
+        this.noStringEvent = b;
     }
 
     //
-    // 'unsafe-negation' option
+    // 'no-this-closure' option
     //
 
-    private boolean unsafeNegation = true;
+    private boolean noThisClosure = false;
 
-    public boolean getUnsafeNegation() {
-        return unsafeNegation;
+    public boolean getNoThisClosure() {
+        return noThisClosure;
     }
 
     @Config
-    @Mapping("unsafe-negation")
-    public void setUnsafeNegation(ConfigurationValue cv, boolean b) {
-        this.unsafeNegation = b;
+    @Mapping("no-this-closure")
+    public void setNoThisClosure(ConfigurationValue cv, boolean b) {
+        this.noThisClosure = b;
     }
 
     //
-    // 'valid-typeof' option
+    // 'no-trace' option
     //
 
-    private boolean validTypeof = true;
+    private boolean noTrace = false;
 
-    public boolean getValidTypeof() {
-        return validTypeof;
+    public boolean getNoTrace() {
+        return noTrace;
     }
 
     @Config
-    @Mapping("valid-typeof")
-    public void setValidTypeof(ConfigurationValue cv, boolean b) {
-        this.validTypeof = b;
+    @Mapping("no-trace")
+    public void setNoTrace(ConfigurationValue cv, boolean b) {
+        this.noTrace = b;
     }
 
     //
-    // 'vars-on-top' option
+    // 'no-void-operator' option
     //
 
-    private boolean varsOnTop = false;
+    private boolean noVoidOperator = false;
 
-    public boolean getVarsOnTop() {
-        return varsOnTop;
+    public boolean getNoVoidOperator() {
+        return noVoidOperator;
     }
 
     @Config
-    @Mapping("vars-on-top")
-    public void setVarsOnTop(ConfigurationValue cv, boolean b) {
-        this.varsOnTop = b;
+    @Mapping("no-void-operator")
+    public void setNoVoidOperator(ConfigurationValue cv, boolean b) {
+        this.noVoidOperator = b;
+    }
+
+    //
+    // 'no-wildcard-import' option
+    //
+
+    private boolean noWildcardImport = false;
+
+    public boolean getNoWildcardImport() {
+        return noWildcardImport;
+    }
+
+    @Config
+    @Mapping("no-wildcard-import")
+    public void setNoWildcardImport(ConfigurationValue cv, boolean b) {
+        this.noWildcardImport = b;
     }
 
     //
-    // 'void-operator' option
+    // 'no-with' option
     //
 
-    private boolean voidOperator = false;
+    private boolean noWith = true;
 
-    public boolean getVoidOperator() {
-        return voidOperator;
+    public boolean getNoWith() {
+        return noWith;
     }
 
     @Config
-    @Mapping("void-operator")
-    public void setVoidOperator(ConfigurationValue cv, boolean b) {
-        this.voidOperator = b;
+    @Mapping("with")
+    public void setNoWith(ConfigurationValue cv, boolean b) {
+        this.noWith = b;
     }
 
     //
-    // 'wildcard-import' option
+    // 'override-super' option
     //
 
-    private boolean wildcardImport = false;
+    private boolean overrideSuper = false;
 
-    public boolean getWildcardImport() {
-        return wildcardImport;
+    public boolean getOverrideSuper() {
+        return overrideSuper;
     }
 
     @Config
-    @Mapping("wildcard-import")
-    public void setWildcardImport(ConfigurationValue cv, boolean b) {
-        this.wildcardImport = b;
+    @Mapping("override-super")
+    public void setOverrideSuper(ConfigurationValue cv, boolean b) {
+        this.overrideSuper = b;
     }
 
     //
-    // 'with' option
+    // 'package-name' option
     //
 
-    private boolean with = true;
+    private boolean packageName = false;
 
-    public boolean getWith() {
-        return with;
+    public boolean getPackageName() {
+        return packageName;
     }
 
     @Config
-    @Mapping("with")
-    public void setWith(ConfigurationValue cv, boolean b) {
-        this.with = b;
+    @Mapping("package-name")
+    public void setPackageName(ConfigurationValue cv, boolean b) {
+        this.packageName = b;
+    }
+
+    //
+    // 'static-constants' option
+    //
+
+    private boolean staticConstants = false;
+
+    public boolean getStaticConstants() {
+        return staticConstants;
+    }
+
+    @Config
+    @Mapping("static-constants")
+    public void setStaticConstants(ConfigurationValue cv, boolean b) {
+        this.staticConstants = b;
+    }
+
+    //
+    // 'strict-equality' option
+    //
+
+    private boolean strictEquality = false;
+
+    public boolean getStrictEquality() {
+        return strictEquality;
+    }
+
+    @Config
+    @Mapping("strict-equality")
+    public void setStrictEquality(ConfigurationValue cv, boolean b) {
+        this.strictEquality = b;
+    }
+
+    //
+    // 'switch-default' option
+    //
+
+    private boolean switchDefault = false;
+
+    public boolean getSwitchDefault() {
+        return switchDefault;
+    }
+
+    @Config
+    @Mapping("switch-default")
+    public void setSwitchDefault(ConfigurationValue cv, boolean b) {
+        this.switchDefault = b;
+    }
+
+    //
+    // 'unsafe-negation' option
+    //
+
+    private boolean unsafeNegation = true;
+
+    public boolean getUnsafeNegation() {
+        return unsafeNegation;
+    }
+
+    @Config
+    @Mapping("unsafe-negation")
+    public void setUnsafeNegation(ConfigurationValue cv, boolean b) {
+        this.unsafeNegation = b;
+    }
+
+    //
+    // 'valid-typeof' option
+    //
+
+    private boolean validTypeof = true;
+
+    public boolean getValidTypeof() {
+        return validTypeof;
+    }
+
+    @Config
+    @Mapping("valid-typeof")
+    public void setValidTypeof(ConfigurationValue cv, boolean b) {
+        this.validTypeof = b;
+    }
+
+    //
+    // 'vars-on-top' option
+    //
+
+    private boolean varsOnTop = false;
+
+    public boolean getVarsOnTop() {
+        return varsOnTop;
+    }
+
+    @Config
+    @Mapping("vars-on-top")
+    public void setVarsOnTop(ConfigurationValue cv, boolean b) {
+        this.varsOnTop = b;
     }
 
     /**
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/AnyTypeRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoAnyTypeRule.java
similarity index 85%
rename from linter/src/main/java/org/apache/royale/linter/rules/AnyTypeRule.java
rename to linter/src/main/java/org/apache/royale/linter/rules/NoAnyTypeRule.java
index 3215ec90c..f1879710a 100644
--- a/linter/src/main/java/org/apache/royale/linter/rules/AnyTypeRule.java
+++ b/linter/src/main/java/org/apache/royale/linter/rules/NoAnyTypeRule.java
@@ -40,7 +40,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Checks for uses of the * type.
  */
-public class AnyTypeRule extends LinterRule {
+public class NoAnyTypeRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -58,14 +58,14 @@ public class AnyTypeRule extends LinterRule {
                if (!isAnyType(typeNode)) {
                        return;
                }
-               problems.add(new AnyTypeOnVariableLinterProblem(variableNode));
+               problems.add(new 
NoAnyTypeOnVariableLinterProblem(variableNode));
        }
 
        private void checkFunctionNode(IFunctionNode functionNode, TokenQuery 
tokenQuery, Collection<ICompilerProblem> problems) {
                for (IParameterNode paramNode : 
functionNode.getParameterNodes()) {
                        IExpressionNode typeNode = 
paramNode.getVariableTypeNode();
                        if (isAnyType(typeNode)) {
-                               problems.add(new 
AnyTypeOnParameterLinterProblem(paramNode));
+                               problems.add(new 
NoAnyTypeOnParameterLinterProblem(paramNode));
                        }
                }
                if (functionNode.isConstructor()) {
@@ -73,7 +73,7 @@ public class AnyTypeRule extends LinterRule {
                }
                IExpressionNode typeNode = functionNode.getReturnTypeNode();
                if (isAnyType(typeNode)) {
-                       problems.add(new 
AnyTypeReturnLinterProblem(functionNode));
+                       problems.add(new 
NoAnyTypeReturnLinterProblem(functionNode));
                }
        }
 
@@ -92,10 +92,10 @@ public class AnyTypeRule extends LinterRule {
                return true;
        }
 
-       public static class AnyTypeOnVariableLinterProblem extends 
CompilerProblem {
+       public static class NoAnyTypeOnVariableLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Must not use the * 
type for variable '${varName}'";
 
-               public AnyTypeOnVariableLinterProblem(IVariableNode node)
+               public NoAnyTypeOnVariableLinterProblem(IVariableNode node)
                {
                        super(node.getVariableTypeNode());
                        varName = node.getName();
@@ -104,10 +104,10 @@ public class AnyTypeRule extends LinterRule {
                public String varName;
        }
 
-       public static class AnyTypeOnParameterLinterProblem extends 
CompilerProblem {
+       public static class NoAnyTypeOnParameterLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Must not use the * 
type for function parameter '${paramName}'";
 
-               public AnyTypeOnParameterLinterProblem(IParameterNode node)
+               public NoAnyTypeOnParameterLinterProblem(IParameterNode node)
                {
                        super(node.getVariableTypeNode());
                        paramName = node.getName();
@@ -116,10 +116,10 @@ public class AnyTypeRule extends LinterRule {
                public String paramName;
        }
 
-       public static class AnyTypeReturnLinterProblem extends CompilerProblem {
+       public static class NoAnyTypeReturnLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Must not use the * 
type for function return type";
 
-               public AnyTypeReturnLinterProblem(IFunctionNode node)
+               public NoAnyTypeReturnLinterProblem(IFunctionNode node)
                {
                        super(node.getReturnTypeNode());
                }
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/BooleanEqualityRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoBooleanEqualityRule.java
similarity index 89%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/BooleanEqualityRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoBooleanEqualityRule.java
index 0aba1e44d..8209e554c 100644
--- 
a/linter/src/main/java/org/apache/royale/linter/rules/BooleanEqualityRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoBooleanEqualityRule.java
@@ -40,7 +40,7 @@ import org.apache.royale.linter.TokenQuery;
  * because these operators do not type coerce the two sides to determine if 
they
  * are 'truthy' or 'falsy'.
  */
-public class BooleanEqualityRule extends LinterRule {
+public class NoBooleanEqualityRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -56,18 +56,18 @@ public class BooleanEqualityRule extends LinterRule {
        private void checkBinaryOperatorNode(IBinaryOperatorNode operatorNode, 
TokenQuery tokenQuery, Collection<ICompilerProblem> problems) {
                IExpressionNode leftOperandNode = 
operatorNode.getLeftOperandNode();
                if 
(ASTNodeID.LiteralBooleanID.equals(leftOperandNode.getNodeID())) {
-                       problems.add(new 
BooleanEqualityLinterProblem(leftOperandNode));
+                       problems.add(new 
NoBooleanEqualityLinterProblem(leftOperandNode));
                }
                IExpressionNode rightOperandNode = 
operatorNode.getRightOperandNode();
                if 
(ASTNodeID.LiteralBooleanID.equals(rightOperandNode.getNodeID())) {
-                       problems.add(new 
BooleanEqualityLinterProblem(rightOperandNode));
+                       problems.add(new 
NoBooleanEqualityLinterProblem(rightOperandNode));
                }
        }
 
-       public static class BooleanEqualityLinterProblem extends 
CompilerProblem {
+       public static class NoBooleanEqualityLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Must simplify 
statement to remove redundant comparison with true or false";
 
-               public BooleanEqualityLinterProblem(IExpressionNode node)
+               public NoBooleanEqualityLinterProblem(IExpressionNode node)
                {
                        super(node);
                }
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/ConstructorDispatchEventRule.java
 
b/linter/src/main/java/org/apache/royale/linter/rules/NoConstructorDispatchEventRule.java
similarity index 89%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/ConstructorDispatchEventRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoConstructorDispatchEventRule.java
index 736ebb49e..6ab9109f4 100644
--- 
a/linter/src/main/java/org/apache/royale/linter/rules/ConstructorDispatchEventRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoConstructorDispatchEventRule.java
@@ -41,7 +41,7 @@ import org.apache.royale.linter.TokenQuery;
  * Check that a constructor does not call `dispatchEvent` because it's likely
  * that no listeners have been added yet.
  */
-public class ConstructorDispatchEventRule extends LinterRule {
+public class NoConstructorDispatchEventRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -60,7 +60,7 @@ public class ConstructorDispatchEventRule extends LinterRule {
                if (nameNode instanceof IIdentifierNode) {
                        IIdentifierNode identifierNode = (IIdentifierNode) 
nameNode;
                        if ("dispatchEvent".equals(identifierNode.getName())) {
-                               problems.add(new 
ConstructorDispatchEventLinterProblem(functionNode, identifierNode));
+                               problems.add(new 
NoConstructorDispatchEventLinterProblem(functionNode, identifierNode));
                                return;
                        }
                        return;
@@ -74,7 +74,7 @@ public class ConstructorDispatchEventRule extends LinterRule {
                                                ILanguageIdentifierNode 
langIdentifierNode = (ILanguageIdentifierNode) 
memberAccess.getLeftOperandNode();
                                                if 
(LanguageIdentifierKind.THIS.equals(langIdentifierNode.getKind())
                                                                || 
LanguageIdentifierKind.SUPER.equals(langIdentifierNode.getKind())) {
-                                                       problems.add(new 
ConstructorDispatchEventLinterProblem(functionNode, identifierNode));
+                                                       problems.add(new 
NoConstructorDispatchEventLinterProblem(functionNode, identifierNode));
                                                        return;
                                                }
                                        }
@@ -84,10 +84,10 @@ public class ConstructorDispatchEventRule extends 
LinterRule {
                }
        }
 
-       public static class ConstructorDispatchEventLinterProblem extends 
CompilerProblem {
+       public static class NoConstructorDispatchEventLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Constructor 
'${functionName}' must not call 'dispatchEvent'";
 
-               public ConstructorDispatchEventLinterProblem(IFunctionNode 
functionNode, IExpressionNode dispatchEventNode) {
+               public NoConstructorDispatchEventLinterProblem(IFunctionNode 
functionNode, IExpressionNode dispatchEventNode) {
                        super(dispatchEventNode);
                        functionName = functionNode.getName();
                }
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/ConstructorReturnTypeRule.java
 
b/linter/src/main/java/org/apache/royale/linter/rules/NoConstructorReturnTypeRule.java
similarity index 89%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/ConstructorReturnTypeRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoConstructorReturnTypeRule.java
index 2dc8700d7..e3d547544 100644
--- 
a/linter/src/main/java/org/apache/royale/linter/rules/ConstructorReturnTypeRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoConstructorReturnTypeRule.java
@@ -35,7 +35,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Check that a constructor does not specify a return type (not even `void`).
  */
-public class ConstructorReturnTypeRule extends LinterRule {
+public class NoConstructorReturnTypeRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -53,13 +53,13 @@ public class ConstructorReturnTypeRule extends LinterRule {
                if (returnTypeNode == null) {
                        return;
                }
-               problems.add(new 
ConstructorReturnTypeLinterProblem(functionNode));
+               problems.add(new 
NoConstructorReturnTypeLinterProblem(functionNode));
        }
 
-       public static class ConstructorReturnTypeLinterProblem extends 
CompilerProblem {
+       public static class NoConstructorReturnTypeLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Constructor 
'${functionName}' must not specify '${returnType}' return type";
 
-               public ConstructorReturnTypeLinterProblem(IFunctionNode node)
+               public NoConstructorReturnTypeLinterProblem(IFunctionNode node)
                {
                        super(node.getNameExpressionNode());
                        functionName = node.getName();
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/DuplicateObjectKeysRule.java
 
b/linter/src/main/java/org/apache/royale/linter/rules/NoDuplicateObjectKeysRule.java
similarity index 92%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/DuplicateObjectKeysRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoDuplicateObjectKeysRule.java
index d1fef4dd7..601af9f01 100644
--- 
a/linter/src/main/java/org/apache/royale/linter/rules/DuplicateObjectKeysRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoDuplicateObjectKeysRule.java
@@ -43,7 +43,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Check that each key in an object literal is unique.
  */
-public class DuplicateObjectKeysRule extends LinterRule {
+public class NoDuplicateObjectKeysRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -82,7 +82,7 @@ public class DuplicateObjectKeysRule extends LinterRule {
                        }
                        if (keyName != null) {
                                if (keyNames.contains(keyName)) {
-                                       problems.add(new 
DuplicateObjectKeysLinterProblem(nameNode, keyName));
+                                       problems.add(new 
NoDuplicateObjectKeysLinterProblem(nameNode, keyName));
                                } else {
                                        keyNames.add(keyName);
                                }
@@ -90,10 +90,10 @@ public class DuplicateObjectKeysRule extends LinterRule {
                }
        }
 
-       public static class DuplicateObjectKeysLinterProblem extends 
CompilerProblem {
+       public static class NoDuplicateObjectKeysLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Object literal 
contains duplicate key '${keyName}'";
 
-               public DuplicateObjectKeysLinterProblem(IExpressionNode node, 
String keyName)
+               public NoDuplicateObjectKeysLinterProblem(IExpressionNode node, 
String keyName)
                {
                        super(node);
                        this.keyName = keyName;
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/DynamicClassRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoDynamicClassRule.java
similarity index 90%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/DynamicClassRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoDynamicClassRule.java
index 6df5ee95c..f56b11e11 100644
--- a/linter/src/main/java/org/apache/royale/linter/rules/DynamicClassRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoDynamicClassRule.java
@@ -35,7 +35,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Check that symbols in package or class scopes have a namespace.
  */
-public class DynamicClassRule extends LinterRule {
+public class NoDynamicClassRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -49,13 +49,13 @@ public class DynamicClassRule extends LinterRule {
                if (!classNode.hasModifier(ASModifier.DYNAMIC)) {
                        return;
                }
-               problems.add(new DynamicClassLinterProblem(classNode));
+               problems.add(new NoDynamicClassLinterProblem(classNode));
        }
 
-       public static class DynamicClassLinterProblem extends CompilerProblem {
+       public static class NoDynamicClassLinterProblem extends CompilerProblem 
{
                public static final String DESCRIPTION = "Class '${className}' 
must not be dynamic";
 
-               public DynamicClassLinterProblem(IClassNode node)
+               public NoDynamicClassLinterProblem(IClassNode node)
                {
                        super(node);
                        className = node.getName();
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/IfBooleanLiteralRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoIfBooleanLiteralRule.java
similarity index 90%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/IfBooleanLiteralRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoIfBooleanLiteralRule.java
index b5693996d..457520f7d 100644
--- 
a/linter/src/main/java/org/apache/royale/linter/rules/IfBooleanLiteralRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoIfBooleanLiteralRule.java
@@ -37,7 +37,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Check that a boolean literal value is not used as an 'if' condition.
  */
-public class IfBooleanLiteralRule extends LinterRule {
+public class NoIfBooleanLiteralRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -56,13 +56,13 @@ public class IfBooleanLiteralRule extends LinterRule {
                if (!LiteralType.BOOLEAN.equals(literalNode.getLiteralType())) {
                        return;
                }
-               problems.add(new IfBooleanLiteralLinterProblem(literalNode));
+               problems.add(new NoIfBooleanLiteralLinterProblem(literalNode));
        }
 
-       public static class IfBooleanLiteralLinterProblem extends 
CompilerProblem {
+       public static class NoIfBooleanLiteralLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Condition is always 
'${value}'";
 
-               public IfBooleanLiteralLinterProblem(ILiteralNode node)
+               public NoIfBooleanLiteralLinterProblem(ILiteralNode node)
                {
                        super(node);
                        value = node.getValue();
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/NumericLeadingZeroesRule.java
 b/linter/src/main/java/org/apache/royale/linter/rules/NoLeadingZeroesRule.java
similarity index 91%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/NumericLeadingZeroesRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoLeadingZeroesRule.java
index ac07172fe..d5470755d 100644
--- 
a/linter/src/main/java/org/apache/royale/linter/rules/NumericLeadingZeroesRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoLeadingZeroesRule.java
@@ -38,7 +38,7 @@ import org.apache.royale.linter.TokenQuery;
  * 
  * Designed to prevent confusion with ECMAScript's deprecated octal notation.
  */
-public class NumericLeadingZeroesRule extends LinterRule {
+public class NoLeadingZeroesRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -62,13 +62,13 @@ public class NumericLeadingZeroesRule extends LinterRule {
                if (stringValue.startsWith("0x")) {
                        return;
                }
-               problems.add(new NumericLeadingZeroesLinterProblem(numberNode));
+               problems.add(new NoLeadingZeroesLinterProblem(numberNode));
        }
 
-       public static class NumericLeadingZeroesLinterProblem extends 
CompilerProblem {
+       public static class NoLeadingZeroesLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Must remove leading 
zeros from numeric literal '${value}'";
 
-               public NumericLeadingZeroesLinterProblem(INumericLiteralNode 
node)
+               public NoLeadingZeroesLinterProblem(INumericLiteralNode node)
                {
                        super((ISourceLocation) node);
                        value = node.getNumericValue().toString();
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/SparseArrayRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoSparseArrayRule.java
similarity index 91%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/SparseArrayRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoSparseArrayRule.java
index a6a723684..3420b55c3 100644
--- a/linter/src/main/java/org/apache/royale/linter/rules/SparseArrayRule.java
+++ b/linter/src/main/java/org/apache/royale/linter/rules/NoSparseArrayRule.java
@@ -37,7 +37,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Check that an array literal contains no empty slots (multiple repeating 
commas with no values).
  */
-public class SparseArrayRule extends LinterRule {
+public class NoSparseArrayRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -58,16 +58,16 @@ public class SparseArrayRule extends LinterRule {
                for (int i = 0; i < contentsNode.getChildCount(); i++) {
                        IASNode child = contentsNode.getChild(i);
                        if (ASTNodeID.NilID.equals(child.getNodeID())) {
-                               problems.add(new 
SparseArrayLinterProblem(arrayLiteralNode));
+                               problems.add(new 
NoSparseArrayLinterProblem(arrayLiteralNode));
                                return;
                        }
                }
        }
 
-       public static class SparseArrayLinterProblem extends CompilerProblem {
+       public static class NoSparseArrayLinterProblem extends CompilerProblem {
                public static final String DESCRIPTION = "Array literals must 
not be sparse";
 
-               public SparseArrayLinterProblem(ILiteralContainerNode node)
+               public NoSparseArrayLinterProblem(ILiteralContainerNode node)
                {
                        super(node);
                }
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/StringEventNameRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoStringEventNameRule.java
similarity index 93%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/StringEventNameRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoStringEventNameRule.java
index 8f0540c45..c4541bbf1 100644
--- 
a/linter/src/main/java/org/apache/royale/linter/rules/StringEventNameRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoStringEventNameRule.java
@@ -41,7 +41,7 @@ import org.apache.royale.linter.TokenQuery;
  * Check that calls to event dispatcher methods don't use string values for
  * event names.
  */
-public class StringEventNameRule extends LinterRule {
+public class NoStringEventNameRule extends LinterRule {
        private static final String[] EVENT_DISPATCHER_FUNCTION_NAMES = {
                "addEventListener",
                "removeEventListener",
@@ -90,13 +90,13 @@ public class StringEventNameRule extends LinterRule {
                if (!LiteralType.STRING.equals(literalNode.getLiteralType())) {
                        return;
                }
-               problems.add(new StringEventNameProblem(functionCallNode, 
functionName));
+               problems.add(new NoStringEventNameProblem(functionCallNode, 
functionName));
        }
 
-       public static class StringEventNameProblem extends CompilerProblem {
+       public static class NoStringEventNameProblem extends CompilerProblem {
                public static final String DESCRIPTION = "Calls to 
'${functionName}' must use constant value instead of string literal for event 
name";
 
-               public StringEventNameProblem(IFunctionCallNode node, String 
functionName)
+               public NoStringEventNameProblem(IFunctionCallNode node, String 
functionName)
                {
                        super(node.getArgumentNodes()[0]);
                        this.functionName = functionName;
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/ThisInClosureRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoThisInClosureRule.java
similarity index 92%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/ThisInClosureRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoThisInClosureRule.java
index b994da666..38db15c16 100644
--- a/linter/src/main/java/org/apache/royale/linter/rules/ThisInClosureRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoThisInClosureRule.java
@@ -38,7 +38,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Checks for use of the 'this' keyword in closures.
  */
-public class ThisInClosureRule extends LinterRule {
+public class NoThisInClosureRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -59,7 +59,7 @@ public class ThisInClosureRule extends LinterRule {
                }
                for(IASToken token : tokenQuery.getTokens(blockNode)) {
                        if (token.getType() == ASTokenTypes.TOKEN_KEYWORD_THIS) 
{
-                               problems.add(new 
ThisInClosureLinterProblem(token));
+                               problems.add(new 
NoThisInClosureLinterProblem(token));
                        }
                }
        }
@@ -75,10 +75,10 @@ public class ThisInClosureRule extends LinterRule {
                return null;
        }
 
-       public static class ThisInClosureLinterProblem extends CompilerProblem {
+       public static class NoThisInClosureLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Closure must not 
contain 'this' keyword";
 
-               public ThisInClosureLinterProblem(IASToken token)
+               public NoThisInClosureLinterProblem(IASToken token)
                {
                        super(token);
                }
diff --git a/linter/src/main/java/org/apache/royale/linter/rules/TraceRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoTraceRule.java
similarity index 91%
rename from linter/src/main/java/org/apache/royale/linter/rules/TraceRule.java
rename to linter/src/main/java/org/apache/royale/linter/rules/NoTraceRule.java
index bd5e6b631..39ee54e5d 100644
--- a/linter/src/main/java/org/apache/royale/linter/rules/TraceRule.java
+++ b/linter/src/main/java/org/apache/royale/linter/rules/NoTraceRule.java
@@ -36,7 +36,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Check for calls to the 'trace()' function.
  */
-public class TraceRule extends LinterRule {
+public class NoTraceRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -54,13 +54,13 @@ public class TraceRule extends LinterRule {
                if (parentNode instanceof IMemberAccessExpressionNode) {
                        return;
                }
-               problems.add(new TraceLinterProblem(functionCallNode));
+               problems.add(new NoTraceLinterProblem(functionCallNode));
        }
 
-       public static class TraceLinterProblem extends CompilerProblem {
+       public static class NoTraceLinterProblem extends CompilerProblem {
                public static final String DESCRIPTION = "Must not call trace() 
function";
 
-               public TraceLinterProblem(IFunctionCallNode node)
+               public NoTraceLinterProblem(IFunctionCallNode node)
                {
                        super(node);
                }
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/VoidOperatorRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoVoidOperatorRule.java
similarity index 89%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/VoidOperatorRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoVoidOperatorRule.java
index 5c1788dc7..76e7e7d13 100644
--- a/linter/src/main/java/org/apache/royale/linter/rules/VoidOperatorRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoVoidOperatorRule.java
@@ -35,7 +35,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Checks for uses of 'void' operator. Using 'void' as return type is allowed.
  */
-public class VoidOperatorRule extends LinterRule {
+public class NoVoidOperatorRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -50,13 +50,13 @@ public class VoidOperatorRule extends LinterRule {
                if (!OperatorType.VOID.equals(unaryOperatorNode.getOperator())) 
{
                        return;
                }
-               problems.add(new VoidOperatorLinterProblem(unaryOperatorNode));
+               problems.add(new 
NoVoidOperatorLinterProblem(unaryOperatorNode));
        }
 
-       public static class VoidOperatorLinterProblem extends CompilerProblem {
+       public static class NoVoidOperatorLinterProblem extends CompilerProblem 
{
                public static final String DESCRIPTION = "Must not use 'void' 
operator";
 
-               public VoidOperatorLinterProblem(IUnaryOperatorNode node)
+               public NoVoidOperatorLinterProblem(IUnaryOperatorNode node)
                {
                        super(node);
                }
diff --git 
a/linter/src/main/java/org/apache/royale/linter/rules/WildcardImportRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoWildcardImportRule.java
similarity index 89%
rename from 
linter/src/main/java/org/apache/royale/linter/rules/WildcardImportRule.java
rename to 
linter/src/main/java/org/apache/royale/linter/rules/NoWildcardImportRule.java
index 8f7bf9fea..62b479112 100644
--- 
a/linter/src/main/java/org/apache/royale/linter/rules/WildcardImportRule.java
+++ 
b/linter/src/main/java/org/apache/royale/linter/rules/NoWildcardImportRule.java
@@ -34,7 +34,7 @@ import org.apache.royale.linter.TokenQuery;
 /**
  * Check for import statements that import the entire package.
  */
-public class WildcardImportRule extends LinterRule {
+public class NoWildcardImportRule extends LinterRule {
        @Override
        public Map<ASTNodeID, NodeVisitor> getNodeVisitors() {
                Map<ASTNodeID, NodeVisitor> result = new HashMap<>();
@@ -48,13 +48,13 @@ public class WildcardImportRule extends LinterRule {
                if (!importNode.isWildcardImport()) {
                        return;
                }
-               problems.add(new WildcardImportLinterProblem(importNode));
+               problems.add(new NoWildcardImportLinterProblem(importNode));
        }
 
-       public static class WildcardImportLinterProblem extends CompilerProblem 
{
+       public static class NoWildcardImportLinterProblem extends 
CompilerProblem {
                public static final String DESCRIPTION = "Must not use wildcard 
import";
 
-               public WildcardImportLinterProblem(IImportNode node)
+               public NoWildcardImportLinterProblem(IImportNode node)
                {
                        super(node);
                }
diff --git a/linter/src/main/java/org/apache/royale/linter/rules/WithRule.java 
b/linter/src/main/java/org/apache/royale/linter/rules/NoWithRule.java
similarity index 89%
rename from linter/src/main/java/org/apache/royale/linter/rules/WithRule.java
rename to linter/src/main/java/org/apache/royale/linter/rules/NoWithRule.java
index 840a98c37..388bd7a94 100644
--- a/linter/src/main/java/org/apache/royale/linter/rules/WithRule.java
+++ b/linter/src/main/java/org/apache/royale/linter/rules/NoWithRule.java
@@ -31,20 +31,20 @@ import org.apache.royale.linter.TokenVisitor;
 /**
  * Checks for uses of 'with(x)'.
  */
-public class WithRule extends LinterRule {
+public class NoWithRule extends LinterRule {
        @Override
        public Map<Integer, TokenVisitor> getTokenVisitors() {
                Map<Integer, TokenVisitor> result = new HashMap<>();
                result.put(ASTokenTypes.TOKEN_KEYWORD_WITH, (token, tokenQuery, 
problems) -> {
-                       problems.add(new WithLinterProblem(token));
+                       problems.add(new NoWithLinterProblem(token));
                });
                return result;
        }
 
-       public static class WithLinterProblem extends CompilerProblem {
+       public static class NoWithLinterProblem extends CompilerProblem {
                public static final String DESCRIPTION = "Must not use 'with' 
statement";
 
-               public WithLinterProblem(IASToken token)
+               public NoWithLinterProblem(IASToken token)
                {
                        super(token);
                }

Reply via email to