anchor.diff:              description: _desc,
               details: _details,
               group: Group.pub);
  +
  +  @override
  +  LintCode get lintCode => code;
   
     @override
     PubspecVisitor getPubspecVisitor() => Visitor(this);
  
positive.code: ''';
  
  class PubPackageNames extends LintRule {
    // TODO(brianwilkerson) Uncomment the following when `reportPubLint` supports
    //  message arguments.
    // static const LintCode code = LintCode('package_names',
    //     "The package name '{0}' isn't a snake_case identifier.",
    //     correctionMessage:
    //     'Try changing the name to follow the snake_case style.');
    //
    // @override
    // LintCode get lintCode => code;
  
    PubPackageNames()
        : super(
  
negative.code:   void visitPackageName(PSEntry name) {
      var packageName = name.value.text;
      if (packageName != null && !isValidPackageName(packageName)) {
        rule.reportPubLint(name.value, arguments: [packageName]);
      }
    }
  }
  