short circuit node processor registry outside NNBD (#2265)

* short circuit node processor registry outside NNBD

* => context.isEnabled
diff --git a/lib/src/rules/cast_nullable_to_non_nullable.dart b/lib/src/rules/cast_nullable_to_non_nullable.dart
index 8ffc846..65b27b3 100644
--- a/lib/src/rules/cast_nullable_to_non_nullable.dart
+++ b/lib/src/rules/cast_nullable_to_non_nullable.dart
@@ -48,10 +48,13 @@
         );
 
   @override
-  void registerNodeProcessors(NodeLintRegistry registry,
-      [LinterContext context]) {
+  void registerNodeProcessors(
+      NodeLintRegistry registry, LinterContext context) {
+    if (!context.isEnabled(Feature.non_nullable)) {
+      return;
+    }
+
     final visitor = _Visitor(this, context);
-    registry.addCompilationUnit(this, visitor);
     registry.addAsExpression(this, visitor);
   }
 }
@@ -62,17 +65,8 @@
   final LintRule rule;
   final LinterContext context;
 
-  bool _isNonNullableEnabled;
-
-  @override
-  void visitCompilationUnit(CompilationUnit node) {
-    _isNonNullableEnabled = node.featureSet.isEnabled(Feature.non_nullable);
-  }
-
   @override
   void visitAsExpression(AsExpression node) {
-    if (!_isNonNullableEnabled) return;
-
     final expressionType = node.expression.staticType;
     final type = node.type.type;
     if (!expressionType.isDynamic &&
diff --git a/lib/src/rules/null_check_on_nullable_type_parameter.dart b/lib/src/rules/null_check_on_nullable_type_parameter.dart
index 0adab49..2a31034 100644
--- a/lib/src/rules/null_check_on_nullable_type_parameter.dart
+++ b/lib/src/rules/null_check_on_nullable_type_parameter.dart
@@ -56,8 +56,12 @@
         );
 
   @override
-  void registerNodeProcessors(NodeLintRegistry registry,
-      [LinterContext context]) {
+  void registerNodeProcessors(
+      NodeLintRegistry registry, LinterContext context) {
+    if (!context.isEnabled(Feature.non_nullable)) {
+      return;
+    }
+
     final visitor = _Visitor(this, context);
     registry.addCompilationUnit(this, visitor);
     registry.addPostfixExpression(this, visitor);
@@ -70,16 +74,8 @@
   final LintRule rule;
   final LinterContext context;
 
-  bool _isNonNullableEnabled;
-
-  @override
-  void visitCompilationUnit(CompilationUnit node) {
-    _isNonNullableEnabled = node.featureSet.isEnabled(Feature.non_nullable);
-  }
-
   @override
   void visitPostfixExpression(PostfixExpression node) {
-    if (!_isNonNullableEnabled) return;
     if (node.operator.type != TokenType.BANG) return;
 
     final expectedType = getExpectedType(node);
diff --git a/lib/src/rules/tighten_type_of_initializing_formals.dart b/lib/src/rules/tighten_type_of_initializing_formals.dart
index 6e69e9c..2054465 100644
--- a/lib/src/rules/tighten_type_of_initializing_formals.dart
+++ b/lib/src/rules/tighten_type_of_initializing_formals.dart
@@ -48,10 +48,13 @@
         );
 
   @override
-  void registerNodeProcessors(NodeLintRegistry registry,
-      [LinterContext context]) {
+  void registerNodeProcessors(
+      NodeLintRegistry registry, LinterContext context) {
+    if (!context.isEnabled(Feature.non_nullable)) {
+      return;
+    }
+
     final visitor = _Visitor(this, context);
-    registry.addCompilationUnit(this, visitor);
     registry.addConstructorDeclaration(this, visitor);
   }
 }
@@ -62,17 +65,8 @@
   final LintRule rule;
   final LinterContext context;
 
-  bool _isNonNullableEnabled;
-
-  @override
-  void visitCompilationUnit(CompilationUnit node) {
-    _isNonNullableEnabled = node.featureSet.isEnabled(Feature.non_nullable);
-  }
-
   @override
   void visitConstructorDeclaration(ConstructorDeclaration node) {
-    if (!_isNonNullableEnabled) return;
-
     node.initializers
         .whereType<AssertInitializer>()
         .map((e) => e.condition)
diff --git a/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart b/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart
index 5b9c97e..4170be4 100644
--- a/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart
+++ b/lib/src/rules/unnecessary_nullable_for_final_variable_declarations.dart
@@ -39,8 +39,12 @@
             group: Group.style);
 
   @override
-  void registerNodeProcessors(NodeLintRegistry registry,
-      [LinterContext context]) {
+  void registerNodeProcessors(
+      NodeLintRegistry registry, LinterContext context) {
+    if (!context.isEnabled(Feature.non_nullable)) {
+      return;
+    }
+
     final visitor = _Visitor(this, context);
     registry.addCompilationUnit(this, visitor);
     registry.addFieldDeclaration(this, visitor);
@@ -55,17 +59,8 @@
   final LintRule rule;
   final LinterContext context;
 
-  bool _isNonNullableEnabled;
-
-  @override
-  void visitCompilationUnit(CompilationUnit node) {
-    _isNonNullableEnabled = node.featureSet.isEnabled(Feature.non_nullable);
-  }
-
   @override
   void visitFieldDeclaration(FieldDeclaration node) {
-    if (!_isNonNullableEnabled) return;
-
     for (var variable in node.fields.variables) {
       if (Identifier.isPrivateName(variable.name.name) || node.isStatic) {
         _visit(variable);
@@ -75,15 +70,11 @@
 
   @override
   void visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) {
-    if (!_isNonNullableEnabled) return;
-
     node.variables.variables.forEach(_visit);
   }
 
   @override
   void visitVariableDeclarationStatement(VariableDeclarationStatement node) {
-    if (!_isNonNullableEnabled) return;
-
     node.variables.variables.forEach(_visit);
   }