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);
}