generateDescriptor method

  1. @override
Future<SubjectDescriptor> generateDescriptor(
  1. SubjectGenContext<Element2> context
)

Implementation

@override
Future<SubjectDescriptor> generateDescriptor(SubjectGenContext<Element2> context) async {
  var binding = SubjectDescriptor(uri: context.step.inputId.uri.toString());

  var constructedNames = <String>[];
  var variableNames = <String>[];

  for (var match in context.matches) {
    switch (match) {
      case InterfaceElement2():
        constructedNames.add(match.displayName);
      case TopLevelVariableElement2():
        variableNames.add(match.displayName);
      case _:
        log.warning(
            "Element ${match.displayName} of type ${match.runtimeType} is not supported for linking and will be ignored.");
    }
  }

  binding.meta["constructedNames"] = constructedNames;
  binding.meta["variableNames"] = variableNames;

  return binding;
}