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