createFingerprint function

FingerprintBuilder createFingerprint(
  1. CustomLintResolver resolver,
  2. AstNode node, {
  3. required String ruleId,
})

Fluent builder for custom fingerprints, used inside rules. Extracts the fields from the resolver + AST node, then delegates to the shared FingerprintBuilder. ruleId is passed explicitly because it lives on the rule's LintCode, not the node.

Implementation

FingerprintBuilder createFingerprint(
  CustomLintResolver resolver,
  AstNode node, {
  required String ruleId,
}) {
  return FingerprintBuilder._(
    _FingerprintFields(
      ruleId: ruleId,
      relativePath: toRelativePath(resolver.path),
      nodeType: node.runtimeType.toString(),
      elementName: _elementName(node),
      snippet: node.toSource(),
      attributesText: _serializeArguments(node),
    ),
  );
}