linter: rename some rules for clarity
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 85a8559..0a55f11 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.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.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 @@
 			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 @@
 			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 @@
 			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 @@
 			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 90ad940..6d920f6 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
@@ -232,38 +232,6 @@
     }
 
     //
-    // '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
     //
 
@@ -296,70 +264,6 @@
     }
 
     //
-    // '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
     //
 
@@ -456,22 +360,6 @@
     }
 
     //
-    // '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,19 +571,243 @@
     }
 
     //
-    // '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;
+    }
+
+    //
+    // 'no-boolean-equality' option
+    //
+
+    private boolean noBooleanEquality = false;
+
+    public boolean getNoBooleanEquality() {
+        return noBooleanEquality;
+    }
+
+    @Config
+    @Mapping("no-boolean-equality")
+    public void setNoBooleanEquality(ConfigurationValue cv, boolean b) {
+        this.noBooleanEquality = b;
+    }
+
+    //
+    // 'no-constructor-dispatch' option
+    //
+
+    private boolean noConstructorDispatch = false;
+
+    public boolean getNoConstructorDispatch() {
+        return noConstructorDispatch;
+    }
+
+    @Config
+    @Mapping("no-constructor-dispatch")
+    public void setNoConstructorDispatch(ConfigurationValue cv, boolean b) {
+        this.noConstructorDispatch = b;
+    }
+
+    //
+    // 'no-constructor-return-type' option
+    //
+
+    private boolean noConstructorReturnType = false;
+
+    public boolean getNoConstructorReturnType() {
+        return noConstructorReturnType;
+    }
+
+    @Config
+    @Mapping("no-constructor-return-type")
+    public void setNoConstructorReturnType(ConfigurationValue cv, boolean b) {
+        this.noConstructorReturnType = b;
+    }
+
+    //
+    // 'no-duplicate-keys' option
+    //
+
+    private boolean noDuplicateKeys = true;
+
+    public boolean getNoDuplicateKeys() {
+        return noDuplicateKeys;
+    }
+
+    @Config
+    @Mapping("no-duplicate-keys")
+    public void setNoDuplicateKeys(ConfigurationValue cv, boolean b) {
+        this.noDuplicateKeys = b;
+    }
+
+    //
+    // 'no-dynamic-class' option
+    //
+
+    private boolean noDynamicClass = false;
+
+    public boolean getNoDynamicClass() {
+        return noDynamicClass;
+    }
+
+    @Config
+    @Mapping("no-dynamic-class")
+    public void setNoDynamicClass(ConfigurationValue cv, boolean b) {
+        this.noDynamicClass = b;
+    }
+
+    //
+    // 'no-if-boolean' option
+    //
+
+    private boolean noIfBoolean = true;
+
+    public boolean getNoIfBoolean() {
+        return noIfBoolean;
+    }
+
+    @Config
+    @Mapping("no-if-boolean")
+    public void setNoIfBoolean(ConfigurationValue cv, boolean b) {
+        this.noIfBoolean = b;
+    }
+
+    //
+    // 'no-leading-zero' option
+    //
+
+    private boolean noLeadingZero = true;
+
+    public boolean getNoLeadingZero() {
+        return noLeadingZero;
+    }
+
+    @Config
+    @Mapping("no-leading-zero")
+    public void setNoLeadingZero(ConfigurationValue cv, boolean b) {
+        this.noLeadingZero = b;
+    }
+
+    //
+    // 'no-sparse-array' option
+    //
+
+    private boolean noSparseArray = true;
+
+    public boolean getNoSparseArray() {
+        return noSparseArray;
+    }
+
+    @Config
+    @Mapping("no-sparse-array")
+    public void setNoSparseArray(ConfigurationValue cv, boolean b) {
+        this.noSparseArray = b;
+    }
+
+    //
+    // 'no-string-event' option
+    //
+
+    private boolean noStringEvent = false;
+
+    public boolean getNoStringEvent() {
+        return noStringEvent;
+    }
+
+    @Config
+    @Mapping("no-string-event")
+    public void setNoStringEvent(ConfigurationValue cv, boolean b) {
+        this.noStringEvent = b;
+    }
+
+    //
+    // 'no-this-closure' option
+    //
+
+    private boolean noThisClosure = false;
+
+    public boolean getNoThisClosure() {
+        return noThisClosure;
+    }
+
+    @Config
+    @Mapping("no-this-closure")
+    public void setNoThisClosure(ConfigurationValue cv, boolean b) {
+        this.noThisClosure = b;
+    }
+
+    //
+    // 'no-trace' option
+    //
+
+    private boolean noTrace = false;
+
+    public boolean getNoTrace() {
+        return noTrace;
+    }
+
+    @Config
+    @Mapping("no-trace")
+    public void setNoTrace(ConfigurationValue cv, boolean b) {
+        this.noTrace = b;
+    }
+
+    //
+    // 'no-void-operator' option
+    //
+
+    private boolean noVoidOperator = false;
+
+    public boolean getNoVoidOperator() {
+        return noVoidOperator;
+    }
+
+    @Config
+    @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;
+    }
+
+    //
+    // 'no-with' option
+    //
+
+    private boolean noWith = true;
+
+    public boolean getNoWith() {
+        return noWith;
+    }
+
+    @Config
+    @Mapping("with")
+    public void setNoWith(ConfigurationValue cv, boolean b) {
+        this.noWith = b;
     }
 
     //
@@ -731,22 +843,6 @@
     }
 
     //
-    // 'sparse-array' option
-    //
-
-    private boolean sparseArray = true;
-
-    public boolean getSparseArray() {
-        return sparseArray;
-    }
-
-    @Config
-    @Mapping("sparse-array")
-    public void setSparseArray(ConfigurationValue cv, boolean b) {
-        this.sparseArray = b;
-    }
-
-    //
     // 'static-constants' option
     //
 
@@ -779,22 +875,6 @@
     }
 
     //
-    // 'string-event' option
-    //
-
-    private boolean stringEvent = false;
-
-    public boolean getStringEvent() {
-        return stringEvent;
-    }
-
-    @Config
-    @Mapping("string-event")
-    public void setStringEvent(ConfigurationValue cv, boolean b) {
-        this.stringEvent = b;
-    }
-
-    //
     // 'switch-default' option
     //
 
@@ -811,38 +891,6 @@
     }
 
     //
-    // 'this-closure' option
-    //
-
-    private boolean thisClosure = false;
-
-    public boolean getThisClosure() {
-        return thisClosure;
-    }
-
-    @Config
-    @Mapping("this-closure")
-    public void setThisClosure(ConfigurationValue cv, boolean b) {
-        this.thisClosure = b;
-    }
-
-    //
-    // 'trace' option
-    //
-
-    private boolean trace = false;
-
-    public boolean getTrace() {
-        return trace;
-    }
-
-    @Config
-    @Mapping("trace")
-    public void setTrace(ConfigurationValue cv, boolean b) {
-        this.trace = b;
-    }
-
-    //
     // 'unsafe-negation' option
     //
 
@@ -890,54 +938,6 @@
         this.varsOnTop = b;
     }
 
-    //
-    // 'void-operator' option
-    //
-
-    private boolean voidOperator = false;
-
-    public boolean getVoidOperator() {
-        return voidOperator;
-    }
-
-    @Config
-    @Mapping("void-operator")
-    public void setVoidOperator(ConfigurationValue cv, boolean b) {
-        this.voidOperator = b;
-    }
-
-    //
-    // 'wildcard-import' option
-    //
-
-    private boolean wildcardImport = false;
-
-    public boolean getWildcardImport() {
-        return wildcardImport;
-    }
-
-    @Config
-    @Mapping("wildcard-import")
-    public void setWildcardImport(ConfigurationValue cv, boolean b) {
-        this.wildcardImport = b;
-    }
-
-    //
-    // 'with' option
-    //
-
-    private boolean with = true;
-
-    public boolean getWith() {
-        return with;
-    }
-
-    @Config
-    @Mapping("with")
-    public void setWith(ConfigurationValue cv, boolean b) {
-        this.with = b;
-    }
-
     /**
      * 
      * @param path A path to resolve.
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 3215ec9..f187971 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 @@
 /**
  * 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 @@
 		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 @@
 		}
 		IExpressionNode typeNode = functionNode.getReturnTypeNode();
 		if (isAnyType(typeNode)) {
-			problems.add(new AnyTypeReturnLinterProblem(functionNode));
+			problems.add(new NoAnyTypeReturnLinterProblem(functionNode));
 		}
 	}
 
@@ -92,10 +92,10 @@
 		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 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 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 0aba1e4..8209e55 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 @@
  * 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 @@
 	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 736ebb4..6ab9109 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 @@
  * 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 @@
 		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 @@
 						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 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 2dc8700..e3d5475 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 @@
 /**
  * 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 @@
 		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 d1fef4d..601af9f 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 @@
 /**
  * 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 @@
 			}
 			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 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 6df5ee9..f56b11e 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 @@
 /**
  * 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 @@
 		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 b569399..457520f 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 @@
 /**
  * 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 @@
 		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 ac07172..d547075 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 @@
  * 
  * 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 @@
 		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 a6a7236..3420b55 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 @@
 /**
  * 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 @@
 		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 8f0540c..c4541bb 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 @@
  * 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 @@
 		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 b994da6..38db15c 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 @@
 /**
  * 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 @@
 		}
 		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 @@
 		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 bd5e6b6..39ee54e 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 @@
 /**
  * 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 @@
 		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 5c1788d..76e7e7d 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 @@
 /**
  * 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 @@
 		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 8f7bf9f..62b4791 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 @@
 /**
  * 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 @@
 		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 840a98c..388bd7a 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 @@
 /**
  * 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);
 		}