lowerCamelCase check local variables (#2579)
* lowerCamelCase check local variables
* +foreach + catch clauses
diff --git a/lib/src/rules/non_constant_identifier_names.dart b/lib/src/rules/non_constant_identifier_names.dart
index 5198d86..4316b46 100644
--- a/lib/src/rules/non_constant_identifier_names.dart
+++ b/lib/src/rules/non_constant_identifier_names.dart
@@ -43,11 +43,14 @@
void registerNodeProcessors(
NodeLintRegistry registry, LinterContext context) {
var visitor = _Visitor(this);
+ registry.addCatchClause(this, visitor);
registry.addConstructorDeclaration(this, visitor);
+ registry.addForEachPartsWithDeclaration(this, visitor);
registry.addFormalParameterList(this, visitor);
registry.addFunctionDeclaration(this, visitor);
registry.addMethodDeclaration(this, visitor);
registry.addVariableDeclaration(this, visitor);
+ registry.addVariableDeclarationStatement(this, visitor);
}
}
@@ -70,6 +73,11 @@
}
@override
+ void visitCatchClause(CatchClause node) {
+ checkIdentifier(node.exceptionParameter, underscoresOk: true);
+ }
+
+ @override
void visitConstructorDeclaration(ConstructorDeclaration node) {
// For rationale on accepting underscores, see:
// https://github.com/dart-lang/linter/issues/1854
@@ -77,6 +85,11 @@
}
@override
+ void visitForEachPartsWithDeclaration(ForEachPartsWithDeclaration node) {
+ checkIdentifier(node.loopVariable.identifier);
+ }
+
+ @override
void visitFormalParameterList(FormalParameterList node) {
node.parameters.forEach((FormalParameter p) {
if (p is! FieldFormalParameter) {
@@ -103,4 +116,13 @@
checkIdentifier(node.name);
}
}
+
+ @override
+ void visitVariableDeclarationStatement(VariableDeclarationStatement node) {
+ for (var variable in node.variables.variables) {
+ if (!variable.isConst) {
+ checkIdentifier(variable.name);
+ }
+ }
+ }
}
diff --git a/test/rules/non_constant_identifier_names.dart b/test/rules/non_constant_identifier_names.dart
index 6f70a59..69983c2 100644
--- a/test/rules/non_constant_identifier_names.dart
+++ b/test/rules/non_constant_identifier_names.dart
@@ -4,6 +4,29 @@
// test w/ `dart test -N non_constant_identifier_names`
+void main() {
+ var XYZ = 1; // LINT
+ var ABC = 1, // LINT
+ def = 1;
+
+ const ZZZ = 3; // OK
+
+ try {
+ for (var XYZ in []) // LINT
+ {
+ print(XYZ);
+ }
+ for (var II = 0; II < [].length; ++II) // LINT
+ {
+ print(II);
+ }
+ } on Exception catch (EE) //LINT
+ {
+ print(EE);
+ } on Object catch (_) //OK
+ {}
+}
+
String YO = ''; //LINT
const Z = 4; //OK
@@ -26,9 +49,9 @@
void _fun_bar() {} //LINT
abstract class A {
- int _x; //OK
- int __x; //OK
- int X; //OK
+ int? _x; //OK
+ int? __x; //OK
+ int? X; //OK
static const Y = 3; // OK
final String bar_bar; //LINT