getMissingFieldsInEquality function

Set<String> getMissingFieldsInEquality(
  1. ClassDeclaration classDecl,
  2. MethodDeclaration equalityMethod
)

Returns the set of fields that are missing from an existing equality operator

Implementation

Set<String> getMissingFieldsInEquality(
  ClassDeclaration classDecl,
  MethodDeclaration equalityMethod,
) {
  final classFieldNames = getClassFields(classDecl).map((field) => field.name);

  final equalityFieldNames = getFieldsInFunctionBody(equalityMethod);

  return classFieldNames
      .where((field) => !equalityFieldNames.contains(field))
      .toSet();
}