anchor.diff:    int get hashCode => value.hashCode;
   }
   ```
  -
   ''';
   
   class HashAndEquals extends LintRule implements NodeLintRule {
  
positive.code: 
  const _details = r'''
  
  **DO** override `hashCode` if overriding `==`.
  
  Every object in Dart has a `hashCode`.  Both the `==` operator and the
  `hashCode` property of objects must be consistent in order for a common hash
  map implementation to function properly.  Thus, when overriding `==`, the
  `hashCode` should also be overriden to maintain consistency.
  
  **BAD:**
  ```
  
negative.code:     }
  
      if (eq != null && hash == null) {
        rule.reportLint(eq.name, errorCode: equalsMemberCode);
      }
      if (hash != null && eq == null) {
        if (hash is MethodDeclaration) {
          rule.reportLint(hash.name, errorCode: hashMemberCode);
        } else if (hash is FieldDeclaration) {
          rule.reportLint(getFieldIdentifier(hash, 'hashCode'),
              errorCode: hashMemberCode);
        }
      }
    }
  