symbolFor method

String? symbolFor(
  1. Element element
)

For a given Element returns the scip symbol form.

Returns null if symbol cannot be created for provided element

Implementation

String? symbolFor(Element element) {
  if (element is LocalVariableElement) {
    return _localSymbolFor(element);
  }

  // named parameters can be "goto'd" on the consuming symbol, and are not "local"
  if (element is ParameterElement && !element.isNamed) {
    return _localSymbolFor(element);
  }

  // for some reason, LibraryImportElement is considered to be "private"
  if (element.isPrivate && element is! LibraryImportElement) {
    return _localSymbolFor(element);
  }

  final descriptor = _getDescriptor(element);
  if (descriptor == null) return null;

  // Symbol Form: '<scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>'
  return [
    'scip-dart',
    _getPackage(element),
    descriptor,
  ].join(' ');
}