blob: b5c14c9490d073a08556763e591c0d8294eac4ec [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
part of yaml;
/// The visitor pattern for YAML documents.
class _Visitor {
/// Returns [alias].
visitAlias(_AliasNode alias) => alias;
/// Returns [scalar].
visitScalar(_ScalarNode scalar) => scalar;
/// Visits each node in [seq] and returns a list of the results.
visitSequence(_SequenceNode seq)
=> seq.content.mappedBy((e) => e.visit(this)).toList();
/// Visits each key and value in [map] and returns a map of the results.
visitMapping(_MappingNode map) {
var out = new YamlMap();
for (var key in map.content.keys) {
out[key.visit(this)] = map.content[key].visit(this);
}
return out;
}
}