symbolFor method
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(' ');
}