getSymbolsForImportStatement method

Future<List<Type>> getSymbolsForImportStatement({
  1. required ImportStatement statement,
})

Implementation

Future<List<Type>> getSymbolsForImportStatement({required ImportStatement statement}) async {
  final package = switch (statement.type) {
    ImportType.dart => DartSdkPackage(name: statement.identifier.lexeme.substring(1)),
    ImportType.package => ExternalPackage(name: statement.identifier.lexeme),
  };

  try {
    return await getSymbolForPackage(package: package);
  } on _SymbolResolvingException {
    throw ImportedPackageNotAvailableError(statement.identifier);
  }
}