Files
sdk/pkg/scrape/example/generic_classes.dart
T
Parker Lougheed 2a98f98098 [scrape] Use dart_flutter_team_lints as base for analysis
Change-Id: Ief30fb79b2afcbb3f50d9127eb622fac362b07b1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/340141
Commit-Queue: Devon Carew <devoncarew@google.com>
Auto-Submit: Parker Lougheed <parlough@gmail.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2023-12-07 17:57:31 +00:00

26 lines
797 B
Dart

// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/ast/ast.dart';
import 'package:scrape/scrape.dart';
void main(List<String> arguments) {
Scrape()
..addHistogram('Classes', order: SortOrder.numeric)
..addVisitor(GenericClassVisitor.new)
..runCommandLine(arguments);
}
class GenericClassVisitor extends ScrapeVisitor {
@override
void visitClassDeclaration(ClassDeclaration node) {
if (node.typeParameters == null) {
record('Classes', 0);
} else {
record('Classes', node.typeParameters!.typeParameters.length);
}
super.visitClassDeclaration(node);
}
}