visitVarDecl method

  1. @override
String visitVarDecl(
  1. VarDecl stmt
)
override

Implementation

@override
String visitVarDecl(VarDecl stmt) {
  final output = StringBuffer();
  if (stmt.isExternal) {
    output.write('${_lexicon.kExternal} ');
  }
  if (stmt.isStatic) {
    output.write('${_lexicon.kStatic} ');
  }
  if (stmt.isConst) {
    output.write('${_lexicon.kConst} ');
  } else if (!stmt.isMutable) {
    output.write('${_lexicon.kFinal} ');
  } else {
    output.write('${_lexicon.kVar} ');
  }
  output.write(stmt.id.id);
  if (stmt.declType != null) {
    final typeString = formatAST(stmt.declType!);
    output.write('${_lexicon.typeIndicator} $typeString');
  }
  if (stmt.initializer != null) {
    final initString = formatAST(stmt.initializer!);
    output.write(' ${_lexicon.assign} $initString');
  }
  if (stmt.hasEndOfStmtMark) {
    output.write(_lexicon.endOfStatementMark);
  }
  return output.toString();
}