Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Unified Diff: pkg/yaml/lib/src/model.dart

Issue 14103026: Restructure the yaml package. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/yaml/lib/src/deep_equals.dart ('k') | pkg/yaml/lib/src/parser.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/yaml/lib/src/model.dart
diff --git a/pkg/yaml/lib/model.dart b/pkg/yaml/lib/src/model.dart
similarity index 68%
rename from pkg/yaml/lib/model.dart
rename to pkg/yaml/lib/src/model.dart
index ac237a02051a6d2555e2998b62528cba58cd48c7..d7ee4814d4cfedcd182776792a229959f57c7172 100644
--- a/pkg/yaml/lib/model.dart
+++ b/pkg/yaml/lib/src/model.dart
@@ -2,14 +2,19 @@
// 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;
+/// This file contains the node classes for the internal representations of YAML
+/// documents. These nodes are used for both the serialization tree and the
+/// representation graph.
+library model;
-// This file contains the node classes for the internal representations of YAML
-// documents. These nodes are used for both the serialization tree and the
-// representation graph.
+import 'model.dart';
+import 'parser.dart';
+import 'utils.dart';
+import 'visitor.dart';
+import 'yaml_exception.dart';
/// A tag that indicates the type of a YAML node.
-class _Tag {
+class Tag {
// TODO(nweiz): it would better match the semantics of the spec if there were
// a singleton instance of this class for each tag.
@@ -25,18 +30,18 @@ class _Tag {
/// The kind of the tag: SCALAR_KIND, SEQUENCE_KIND, or MAPPING_KIND.
final int kind;
- _Tag(this.name, this.kind);
+ Tag(this.name, this.kind);
- _Tag.scalar(String name) : this(name, SCALAR_KIND);
- _Tag.sequence(String name) : this(name, SEQUENCE_KIND);
- _Tag.mapping(String name) : this(name, MAPPING_KIND);
+ Tag.scalar(String name) : this(name, SCALAR_KIND);
+ Tag.sequence(String name) : this(name, SEQUENCE_KIND);
+ Tag.mapping(String name) : this(name, MAPPING_KIND);
/// Returns the standard YAML tag URI for [type].
static String yaml(String type) => "tag:yaml.org,2002:$type";
/// Two tags are equal if their URIs are equal.
operator ==(other) {
- if (other is! _Tag) return false;
+ if (other is! Tag) return false;
return name == other.name;
}
@@ -52,37 +57,37 @@ class _Tag {
}
/// The abstract class for YAML nodes.
-abstract class _Node {
+abstract class Node {
/// Every YAML node has a tag that describes its type.
- _Tag tag;
+ Tag tag;
/// Any YAML node can have an anchor associated with it.
String anchor;
- _Node(this.tag, [this.anchor]);
+ Node(this.tag, [this.anchor]);
bool operator ==(other) {
- if (other is! _Node) return false;
+ if (other is! Node) return false;
return tag == other.tag;
}
- int get hashCode => _hashCode([tag, anchor]);
+ int get hashCode => hashCodeFor([tag, anchor]);
- visit(_Visitor v);
+ visit(Visitor v);
}
/// A sequence node represents an ordered list of nodes.
-class _SequenceNode extends _Node {
+class SequenceNode extends Node {
/// The nodes in the sequence.
- List<_Node> content;
+ List<Node> content;
- _SequenceNode(String tagName, this.content)
- : super(new _Tag.sequence(tagName));
+ SequenceNode(String tagName, this.content)
+ : super(new Tag.sequence(tagName));
/// Two sequences are equal if their tags and contents are equal.
bool operator ==(other) {
// Should be super != other; bug 2554
- if (!(super == other) || other is! _SequenceNode) return false;
+ if (!(super == other) || other is! SequenceNode) return false;
if (content.length != other.content.length) return false;
for (var i = 0; i < content.length; i++) {
if (content[i] != other.content[i]) return false;
@@ -92,20 +97,20 @@ class _SequenceNode extends _Node {
String toString() => '$tag [${content.map((e) => '$e').join(', ')}]';
- int get hashCode => super.hashCode ^ _hashCode(content);
+ int get hashCode => super.hashCode ^ hashCodeFor(content);
- visit(_Visitor v) => v.visitSequence(this);
+ visit(Visitor v) => v.visitSequence(this);
}
/// An alias node is a reference to an anchor.
-class _AliasNode extends _Node {
- _AliasNode(String anchor) : super(new _Tag.scalar(_Tag.yaml("str")), anchor);
+class AliasNode extends Node {
+ AliasNode(String anchor) : super(new Tag.scalar(Tag.yaml("str")), anchor);
- visit(_Visitor v) => v.visitAlias(this);
+ visit(Visitor v) => v.visitAlias(this);
}
/// A scalar node represents all YAML nodes that have a single value.
-class _ScalarNode extends _Node {
+class ScalarNode extends Node {
/// The string value of the scalar node, if it was created by the parser.
final String _content;
@@ -118,14 +123,14 @@ class _ScalarNode extends _Node {
/// be specified for a newly-parsed scalar that hasn't yet been composed.
/// Value should be specified for a composed scalar, although `null` is a
/// valid value.
- _ScalarNode(String tagName, {String content, this.value})
+ ScalarNode(String tagName, {String content, this.value})
: _content = content,
- super(new _Tag.scalar(tagName));
+ super(new Tag.scalar(tagName));
/// Two scalars are equal if their string representations are equal.
bool operator ==(other) {
// Should be super != other; bug 2554
- if (!(super == other) || other is! _ScalarNode) return false;
+ if (!(super == other) || other is! ScalarNode) return false;
return content == other.content;
}
@@ -151,21 +156,21 @@ class _ScalarNode extends _Node {
var escapedValue = value.codeUnits.map((c) {
switch (c) {
- case _Parser.TAB: return "\\t";
- case _Parser.LF: return "\\n";
- case _Parser.CR: return "\\r";
- case _Parser.DOUBLE_QUOTE: return '\\"';
- case _Parser.NULL: return "\\0";
- case _Parser.BELL: return "\\a";
- case _Parser.BACKSPACE: return "\\b";
- case _Parser.VERTICAL_TAB: return "\\v";
- case _Parser.FORM_FEED: return "\\f";
- case _Parser.ESCAPE: return "\\e";
- case _Parser.BACKSLASH: return "\\\\";
- case _Parser.NEL: return "\\N";
- case _Parser.NBSP: return "\\_";
- case _Parser.LINE_SEPARATOR: return "\\L";
- case _Parser.PARAGRAPH_SEPARATOR: return "\\P";
+ case Parser.TAB: return "\\t";
+ case Parser.LF: return "\\n";
+ case Parser.CR: return "\\r";
+ case Parser.DOUBLE_QUOTE: return '\\"';
+ case Parser.NULL: return "\\0";
+ case Parser.BELL: return "\\a";
+ case Parser.BACKSPACE: return "\\b";
+ case Parser.VERTICAL_TAB: return "\\v";
+ case Parser.FORM_FEED: return "\\f";
+ case Parser.ESCAPE: return "\\e";
+ case Parser.BACKSLASH: return "\\\\";
+ case Parser.NEL: return "\\N";
+ case Parser.NBSP: return "\\_";
+ case Parser.LINE_SEPARATOR: return "\\L";
+ case Parser.PARAGRAPH_SEPARATOR: return "\\P";
default:
if (c < 0x20 || (c >= 0x7f && c < 0x100)) {
return "\\x${zeroPad(c.toRadixString(16).toUpperCase(), 2)}";
@@ -196,21 +201,21 @@ class _ScalarNode extends _Node {
int get hashCode => super.hashCode ^ content.hashCode;
- visit(_Visitor v) => v.visitScalar(this);
+ visit(Visitor v) => v.visitScalar(this);
}
/// A mapping node represents an unordered map of nodes to nodes.
-class _MappingNode extends _Node {
+class MappingNode extends Node {
/// The node map.
- Map<_Node, _Node> content;
+ Map<Node, Node> content;
- _MappingNode(String tagName, this.content)
- : super(new _Tag.mapping(tagName));
+ MappingNode(String tagName, this.content)
+ : super(new Tag.mapping(tagName));
/// Two mappings are equal if their tags and contents are equal.
bool operator ==(other) {
// Should be super != other; bug 2554
- if (!(super == other) || other is! _MappingNode) return false;
+ if (!(super == other) || other is! MappingNode) return false;
if (content.length != other.content.length) return false;
for (var key in content.keys) {
if (!other.content.containsKey(key)) return false;
@@ -226,7 +231,7 @@ class _MappingNode extends _Node {
return '$tag {$strContent}';
}
- int get hashCode => super.hashCode ^ _hashCode(content);
+ int get hashCode => super.hashCode ^ hashCodeFor(content);
- visit(_Visitor v) => v.visitMapping(this);
+ visit(Visitor v) => v.visitMapping(this);
}
« no previous file with comments | « pkg/yaml/lib/src/deep_equals.dart ('k') | pkg/yaml/lib/src/parser.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698