visitImportExportDecl method

  1. @override
String visitImportExportDecl(
  1. ImportExportDecl stmt
)
override

Implementation

@override
String visitImportExportDecl(ImportExportDecl stmt) {
  final output = StringBuffer();
  if (!stmt.isExport) {
    output.write('${_lexicon.kImport} ');
    if (stmt.showList.isNotEmpty) {
      output.write('${_lexicon.codeBlockStart} ');
      output.write(stmt.showList.join('${_lexicon.comma} '));
      output.write(' ${_lexicon.codeBlockEnd} ${_lexicon.kFrom} ');
    }
    output.write(
        '${_lexicon.stringStart1}${stmt.fromPath}${_lexicon.stringEnd1}');
    if (stmt.alias != null) {
      output.write(' ${_lexicon.kAs} ${stmt.alias}');
    }
  } else {
    output.write('${_lexicon.kExport} ');
    if (stmt.fromPath == null) {
      output.write(stmt.showList.join('${_lexicon.comma} '));
    } else {
      if (stmt.showList.isNotEmpty) {
        output.write('${_lexicon.codeBlockStart} ');
        output.write(stmt.showList.join('${_lexicon.comma} '));
        output.write(' ${_lexicon.codeBlockEnd} ${_lexicon.kFrom} ');
      }
      output.write(
          '${_lexicon.stringStart1}${stmt.fromPath}${_lexicon.stringEnd1}');
    }
  }
  if (stmt.hasEndOfStmtMark) {
    output.write(_lexicon.endOfStatementMark);
  }
  return output.toString();
}