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

Unified Diff: pkg/analyzer/test/generated/all_the_rest_test.dart

Issue 1502213002: Remove deprecated code (Closed) Base URL: https://github.com/dart-lang/sdk.git@analyzer-breaking-0.27
Patch Set: Created 5 years 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/analyzer/test/enum_test.dart ('k') | pkg/analyzer/test/generated/element_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/generated/all_the_rest_test.dart
diff --git a/pkg/analyzer/test/generated/all_the_rest_test.dart b/pkg/analyzer/test/generated/all_the_rest_test.dart
index 70ec391108b333bbda927eafd7ddce9bc20db739..7e205ea526b22e6e35a16faa12d5f155a0917259 100644
--- a/pkg/analyzer/test/generated/all_the_rest_test.dart
+++ b/pkg/analyzer/test/generated/all_the_rest_test.dart
@@ -10,9 +10,7 @@ import 'package:analyzer/src/generated/constant.dart';
import 'package:analyzer/src/generated/element.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
-import 'package:analyzer/src/generated/html.dart' as ht;
import 'package:analyzer/src/generated/java_core.dart';
-import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/java_engine_io.dart';
import 'package:analyzer/src/generated/java_io.dart';
import 'package:analyzer/src/generated/resolver.dart';
@@ -23,7 +21,6 @@ import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';
import 'package:analyzer/src/generated/testing/ast_factory.dart';
import 'package:analyzer/src/generated/testing/element_factory.dart';
-import 'package:analyzer/src/generated/testing/html_factory.dart';
import 'package:analyzer/src/generated/testing/test_type_provider.dart';
import 'package:analyzer/src/generated/testing/token_factory.dart';
import 'package:analyzer/src/generated/utilities_collection.dart';
@@ -64,380 +61,7 @@ main() {
runReflectiveTests(FileUriResolverTest);
runReflectiveTests(ReferenceFinderTest);
runReflectiveTests(SDKLibrariesReaderTest);
- runReflectiveTests(ToSourceVisitorTest);
runReflectiveTests(UriKindTest);
- runReflectiveTests(StringScannerTest);
-}
-
-abstract class AbstractScannerTest {
- ht.AbstractScanner newScanner(String input);
-
- void test_tokenize_attribute() {
- _tokenize("<html bob=\"one two\">", <Object>[
- ht.TokenType.LT,
- "html",
- "bob",
- ht.TokenType.EQ,
- "\"one two\"",
- ht.TokenType.GT
- ]);
- }
-
- void test_tokenize_comment() {
- _tokenize("<!-- foo -->", <Object>["<!-- foo -->"]);
- }
-
- void test_tokenize_comment_incomplete() {
- _tokenize("<!-- foo", <Object>["<!-- foo"]);
- }
-
- void test_tokenize_comment_with_gt() {
- _tokenize("<!-- foo > -> -->", <Object>["<!-- foo > -> -->"]);
- }
-
- void test_tokenize_declaration() {
- _tokenize("<! foo ><html>",
- <Object>["<! foo >", ht.TokenType.LT, "html", ht.TokenType.GT]);
- }
-
- void test_tokenize_declaration_malformed() {
- _tokenize("<! foo /><html>",
- <Object>["<! foo />", ht.TokenType.LT, "html", ht.TokenType.GT]);
- }
-
- void test_tokenize_directive_incomplete() {
- _tokenize2("<? \nfoo", <Object>["<? \nfoo"], <int>[0, 4]);
- }
-
- void test_tokenize_directive_xml() {
- _tokenize("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>",
- <Object>["<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"]);
- }
-
- void test_tokenize_directives_incomplete_with_newline() {
- _tokenize2("<! \nfoo", <Object>["<! \nfoo"], <int>[0, 4]);
- }
-
- void test_tokenize_empty() {
- _tokenize("", <Object>[]);
- }
-
- void test_tokenize_lt() {
- _tokenize("<", <Object>[ht.TokenType.LT]);
- }
-
- void test_tokenize_script_embedded_tags() {
- _tokenize("<script> <p></p></script>", <Object>[
- ht.TokenType.LT,
- "script",
- ht.TokenType.GT,
- " <p></p>",
- ht.TokenType.LT_SLASH,
- "script",
- ht.TokenType.GT
- ]);
- }
-
- void test_tokenize_script_embedded_tags2() {
- _tokenize("<script> <p></p><</script>", <Object>[
- ht.TokenType.LT,
- "script",
- ht.TokenType.GT,
- " <p></p><",
- ht.TokenType.LT_SLASH,
- "script",
- ht.TokenType.GT
- ]);
- }
-
- void test_tokenize_script_embedded_tags3() {
- _tokenize("<script> <p></p></</script>", <Object>[
- ht.TokenType.LT,
- "script",
- ht.TokenType.GT,
- " <p></p></",
- ht.TokenType.LT_SLASH,
- "script",
- ht.TokenType.GT
- ]);
- }
-
- void test_tokenize_script_partial() {
- _tokenize("<script> <p> ",
- <Object>[ht.TokenType.LT, "script", ht.TokenType.GT, " <p> "]);
- }
-
- void test_tokenize_script_partial2() {
- _tokenize("<script> <p> <",
- <Object>[ht.TokenType.LT, "script", ht.TokenType.GT, " <p> <"]);
- }
-
- void test_tokenize_script_partial3() {
- _tokenize("<script> <p> </",
- <Object>[ht.TokenType.LT, "script", ht.TokenType.GT, " <p> </"]);
- }
-
- void test_tokenize_script_ref() {
- _tokenize("<script source='some.dart'/> <p>", <Object>[
- ht.TokenType.LT,
- "script",
- "source",
- ht.TokenType.EQ,
- "'some.dart'",
- ht.TokenType.SLASH_GT,
- " ",
- ht.TokenType.LT,
- "p",
- ht.TokenType.GT
- ]);
- }
-
- void test_tokenize_script_with_newline() {
- _tokenize2("<script> <p>\n </script>", <Object>[
- ht.TokenType.LT,
- "script",
- ht.TokenType.GT,
- " <p>\n ",
- ht.TokenType.LT_SLASH,
- "script",
- ht.TokenType.GT
- ], <int>[
- 0,
- 13
- ]);
- }
-
- void test_tokenize_spaces_and_newlines() {
- ht.Token token = _tokenize2(
- " < html \n bob = 'joe\n' >\n <\np > one \r\n two <!-- \rfoo --> </ p > </ html > ",
- <Object>[
- " ",
- ht.TokenType.LT,
- "html",
- "bob",
- ht.TokenType.EQ,
- "'joe\n'",
- ht.TokenType.GT,
- "\n ",
- ht.TokenType.LT,
- "p",
- ht.TokenType.GT,
- " one \r\n two ",
- "<!-- \rfoo -->",
- " ",
- ht.TokenType.LT_SLASH,
- "p",
- ht.TokenType.GT,
- " ",
- ht.TokenType.LT_SLASH,
- "html",
- ht.TokenType.GT,
- " "
- ],
- <int>[
- 0,
- 9,
- 21,
- 25,
- 28,
- 38,
- 49
- ]);
- token = token.next;
- expect(token.offset, 1);
- token = token.next;
- expect(token.offset, 3);
- token = token.next;
- expect(token.offset, 10);
- }
-
- void test_tokenize_string() {
- _tokenize("<p bob=\"foo\">", <Object>[
- ht.TokenType.LT,
- "p",
- "bob",
- ht.TokenType.EQ,
- "\"foo\"",
- ht.TokenType.GT
- ]);
- }
-
- void test_tokenize_string_partial() {
- _tokenize("<p bob=\"foo",
- <Object>[ht.TokenType.LT, "p", "bob", ht.TokenType.EQ, "\"foo"]);
- }
-
- void test_tokenize_string_single_quote() {
- _tokenize("<p bob='foo'>", <Object>[
- ht.TokenType.LT,
- "p",
- "bob",
- ht.TokenType.EQ,
- "'foo'",
- ht.TokenType.GT
- ]);
- }
-
- void test_tokenize_string_single_quote_partial() {
- _tokenize("<p bob='foo",
- <Object>[ht.TokenType.LT, "p", "bob", ht.TokenType.EQ, "'foo"]);
- }
-
- void test_tokenize_tag_begin_end() {
- _tokenize("<html></html>", <Object>[
- ht.TokenType.LT,
- "html",
- ht.TokenType.GT,
- ht.TokenType.LT_SLASH,
- "html",
- ht.TokenType.GT
- ]);
- }
-
- void test_tokenize_tag_begin_only() {
- ht.Token token =
- _tokenize("<html>", <Object>[ht.TokenType.LT, "html", ht.TokenType.GT]);
- token = token.next;
- expect(token.offset, 1);
- }
-
- void test_tokenize_tag_incomplete_with_special_characters() {
- _tokenize("<br-a_b", <Object>[ht.TokenType.LT, "br-a_b"]);
- }
-
- void test_tokenize_tag_self_contained() {
- _tokenize("<br/>", <Object>[ht.TokenType.LT, "br", ht.TokenType.SLASH_GT]);
- }
-
- void test_tokenize_tags_wellformed() {
- _tokenize("<html><p>one two</p></html>", <Object>[
- ht.TokenType.LT,
- "html",
- ht.TokenType.GT,
- ht.TokenType.LT,
- "p",
- ht.TokenType.GT,
- "one two",
- ht.TokenType.LT_SLASH,
- "p",
- ht.TokenType.GT,
- ht.TokenType.LT_SLASH,
- "html",
- ht.TokenType.GT
- ]);
- }
-
- /**
- * Given an object representing an expected token, answer the expected token type.
- *
- * @param count the token count for error reporting
- * @param expected the object representing an expected token
- * @return the expected token type
- */
- ht.TokenType _getExpectedTokenType(int count, Object expected) {
- if (expected is ht.TokenType) {
- return expected;
- }
- if (expected is String) {
- String lexeme = expected;
- if (lexeme.startsWith("\"") || lexeme.startsWith("'")) {
- return ht.TokenType.STRING;
- }
- if (lexeme.startsWith("<!--")) {
- return ht.TokenType.COMMENT;
- }
- if (lexeme.startsWith("<!")) {
- return ht.TokenType.DECLARATION;
- }
- if (lexeme.startsWith("<?")) {
- return ht.TokenType.DIRECTIVE;
- }
- if (_isTag(lexeme)) {
- return ht.TokenType.TAG;
- }
- return ht.TokenType.TEXT;
- }
- fail(
- "Unknown expected token $count: ${expected != null ? expected.runtimeType : "null"}");
- return null;
- }
-
- bool _isTag(String lexeme) {
- if (lexeme.length == 0 || !Character.isLetter(lexeme.codeUnitAt(0))) {
- return false;
- }
- for (int index = 1; index < lexeme.length; index++) {
- int ch = lexeme.codeUnitAt(index);
- if (!Character.isLetterOrDigit(ch) && ch != 0x2D && ch != 0x5F) {
- return false;
- }
- }
- return true;
- }
-
- ht.Token _tokenize(String input, List<Object> expectedTokens) =>
- _tokenize2(input, expectedTokens, <int>[0]);
- ht.Token _tokenize2(
- String input, List<Object> expectedTokens, List<int> expectedLineStarts) {
- ht.AbstractScanner scanner = newScanner(input);
- scanner.passThroughElements = <String>["script"];
- int count = 0;
- ht.Token firstToken = scanner.tokenize();
- ht.Token token = firstToken;
- ht.Token previousToken = token.previous;
- expect(previousToken.type == ht.TokenType.EOF, isTrue);
- expect(previousToken.previous, same(previousToken));
- expect(previousToken.offset, -1);
- expect(previousToken.next, same(token));
- expect(token.offset, 0);
- while (token.type != ht.TokenType.EOF) {
- if (count == expectedTokens.length) {
- fail("too many parsed tokens");
- }
- Object expected = expectedTokens[count];
- ht.TokenType expectedTokenType = _getExpectedTokenType(count, expected);
- expect(token.type, same(expectedTokenType), reason: "token $count");
- if (expectedTokenType.lexeme != null) {
- expect(token.lexeme, expectedTokenType.lexeme, reason: "token $count");
- } else {
- expect(token.lexeme, expected, reason: "token $count");
- }
- count++;
- previousToken = token;
- token = token.next;
- expect(token.previous, same(previousToken));
- }
- expect(token.next, same(token));
- expect(token.offset, input.length);
- if (count != expectedTokens.length) {
- expect(false, isTrue, reason: "not enough parsed tokens");
- }
- List<int> lineStarts = scanner.lineStarts;
- bool success = expectedLineStarts.length == lineStarts.length;
- if (success) {
- for (int i = 0; i < lineStarts.length; i++) {
- if (expectedLineStarts[i] != lineStarts[i]) {
- success = false;
- break;
- }
- }
- }
- if (!success) {
- StringBuffer buffer = new StringBuffer();
- buffer.write("Expected line starts ");
- for (int start in expectedLineStarts) {
- buffer.write(start);
- buffer.write(", ");
- }
- buffer.write(" but found ");
- for (int start in lineStarts) {
- buffer.write(start);
- buffer.write(", ");
- }
- fail(buffer.toString());
- }
- return firstToken;
- }
}
/**
@@ -8587,14 +8211,6 @@ final Map<String, LibraryInfo> LIBRARIES = const <String, LibraryInfo> {
}
}
-@reflectiveTest
-class StringScannerTest extends AbstractScannerTest {
- @override
- ht.AbstractScanner newScanner(String input) {
- return new ht.StringScanner(null, input);
- }
-}
-
class TestAnalysisContext_ConstantFinderTest extends TestAnalysisContext {
bool invoked = false;
TestAnalysisContext_ConstantFinderTest();
@@ -8605,61 +8221,6 @@ class TestAnalysisContext_ConstantFinderTest extends TestAnalysisContext {
}
}
-/**
- * Instances of the class `ToSourceVisitorTest`
- */
-@reflectiveTest
-class ToSourceVisitorTest extends EngineTestCase {
- void fail_visitHtmlScriptTagNode_attributes_content() {
- _assertSource(
- "<script type='application/dart'>f() {}</script>",
- HtmlFactory.scriptTagWithContent(
- "f() {}", [HtmlFactory.attribute("type", "'application/dart'")]));
- }
-
- void fail_visitHtmlScriptTagNode_noAttributes_content() {
- _assertSource(
- "<script>f() {}</script>", HtmlFactory.scriptTagWithContent("f() {}"));
- }
-
- void test_visitHtmlScriptTagNode_attributes_noContent() {
- _assertSource(
- "<script type='application/dart'/>",
- HtmlFactory
- .scriptTag([HtmlFactory.attribute("type", "'application/dart'")]));
- }
-
- void test_visitHtmlScriptTagNode_noAttributes_noContent() {
- _assertSource("<script/>", HtmlFactory.scriptTag());
- }
-
- void test_visitHtmlUnit_empty() {
- _assertSource("", new ht.HtmlUnit(null, new List<ht.XmlTagNode>(), null));
- }
-
- void test_visitHtmlUnit_nonEmpty() {
- _assertSource(
- "<html/>", new ht.HtmlUnit(null, [HtmlFactory.tagNode("html")], null));
- }
-
- void test_visitXmlAttributeNode() {
- _assertSource("x=y", HtmlFactory.attribute("x", "y"));
- }
-
- /**
- * Assert that a `ToSourceVisitor` will produce the expected source when visiting the given
- * node.
- *
- * @param expectedSource the source string that the visitor is expected to produce
- * @param node the AST node being visited to produce the actual source
- */
- void _assertSource(String expectedSource, ht.XmlNode node) {
- PrintStringWriter writer = new PrintStringWriter();
- node.accept(new ht.ToSourceVisitor(writer));
- expect(writer.toString(), expectedSource);
- }
-}
-
@reflectiveTest
class UriKindTest {
void test_fromEncoding() {
@@ -8675,237 +8236,3 @@ class UriKindTest {
expect(UriKind.PACKAGE_URI.encoding, 0x70);
}
}
-
-/**
- * Instances of `XmlValidator` traverse an [XmlNode] structure and validate the node
- * hierarchy.
- */
-class XmlValidator extends ht.RecursiveXmlVisitor<Object> {
- /**
- * A list containing the errors found while traversing the AST structure.
- */
- List<String> _errors = new List<String>();
- /**
- * The tags to expect when visiting or `null` if tags should not be checked.
- */
- List<XmlValidator_Tag> _expectedTagsInOrderVisited;
- /**
- * The current index into the [expectedTagsInOrderVisited] array.
- */
- int _expectedTagsIndex = 0;
- /**
- * The key/value pairs to expect when visiting or `null` if attributes should not be
- * checked.
- */
- List<String> _expectedAttributeKeyValuePairs;
- /**
- * The current index into the [expectedAttributeKeyValuePairs].
- */
- int _expectedAttributeIndex = 0;
- /**
- * Assert that no errors were found while traversing any of the AST structures that have been
- * visited.
- */
- void assertValid() {
- while (_expectedTagsIndex < _expectedTagsInOrderVisited.length) {
- String expectedTag =
- _expectedTagsInOrderVisited[_expectedTagsIndex++]._tag;
- _errors.add("Expected to visit node with tag: $expectedTag");
- }
- if (!_errors.isEmpty) {
- StringBuffer buffer = new StringBuffer();
- buffer.write("Invalid XML structure:");
- for (String message in _errors) {
- buffer.writeln();
- buffer.write(" ");
- buffer.write(message);
- }
- fail(buffer.toString());
- }
- }
-
- /**
- * Set the tags to be expected when visiting
- *
- * @param expectedTags the expected tags
- */
- void expectTags(List<XmlValidator_Tag> expectedTags) {
- // Flatten the hierarchy into expected order in which the tags are visited
- List<XmlValidator_Tag> expected = new List<XmlValidator_Tag>();
- _expectTags(expected, expectedTags);
- this._expectedTagsInOrderVisited = expected;
- }
-
- @override
- Object visitHtmlUnit(ht.HtmlUnit node) {
- if (node.parent != null) {
- _errors.add("HtmlUnit should not have a parent");
- }
- if (node.endToken.type != ht.TokenType.EOF) {
- _errors.add("HtmlUnit end token should be of type EOF");
- }
- _validateNode(node);
- return super.visitHtmlUnit(node);
- }
-
- @override
- Object visitXmlAttributeNode(ht.XmlAttributeNode actual) {
- if (actual.parent is! ht.XmlTagNode) {
- _errors.add(
- "Expected ${actual.runtimeType} to have parent of type XmlTagNode");
- }
- String actualName = actual.name;
- String actualValue = actual.valueToken.lexeme;
- if (_expectedAttributeIndex < _expectedAttributeKeyValuePairs.length) {
- String expectedName =
- _expectedAttributeKeyValuePairs[_expectedAttributeIndex];
- if (expectedName != actualName) {
- _errors.add(
- "Expected ${_expectedTagsIndex - 1} tag: ${_expectedTagsInOrderVisited[_expectedTagsIndex - 1]._tag} attribute ${_expectedAttributeIndex ~/ 2} to have name: $expectedName but found: $actualName");
- }
- String expectedValue =
- _expectedAttributeKeyValuePairs[_expectedAttributeIndex + 1];
- if (expectedValue != actualValue) {
- _errors.add(
- "Expected ${_expectedTagsIndex - 1} tag: ${_expectedTagsInOrderVisited[_expectedTagsIndex - 1]._tag} attribute ${_expectedAttributeIndex ~/ 2} to have value: $expectedValue but found: $actualValue");
- }
- } else {
- _errors.add(
- "Unexpected ${_expectedTagsIndex - 1} tag: ${_expectedTagsInOrderVisited[_expectedTagsIndex - 1]._tag} attribute ${_expectedAttributeIndex ~/ 2} name: $actualName value: $actualValue");
- }
- _expectedAttributeIndex += 2;
- _validateNode(actual);
- return super.visitXmlAttributeNode(actual);
- }
-
- @override
- Object visitXmlTagNode(ht.XmlTagNode actual) {
- if (!(actual.parent is ht.HtmlUnit || actual.parent is ht.XmlTagNode)) {
- _errors.add(
- "Expected ${actual.runtimeType} to have parent of type HtmlUnit or XmlTagNode");
- }
- if (_expectedTagsInOrderVisited != null) {
- String actualTag = actual.tag;
- if (_expectedTagsIndex < _expectedTagsInOrderVisited.length) {
- XmlValidator_Tag expected =
- _expectedTagsInOrderVisited[_expectedTagsIndex];
- if (expected._tag != actualTag) {
- _errors.add(
- "Expected $_expectedTagsIndex tag: ${expected._tag} but found: $actualTag");
- }
- _expectedAttributeKeyValuePairs = expected._attributes._keyValuePairs;
- int expectedAttributeCount =
- _expectedAttributeKeyValuePairs.length ~/ 2;
- int actualAttributeCount = actual.attributes.length;
- if (expectedAttributeCount != actualAttributeCount) {
- _errors.add(
- "Expected $_expectedTagsIndex tag: ${expected._tag} to have $expectedAttributeCount attributes but found $actualAttributeCount");
- }
- _expectedAttributeIndex = 0;
- _expectedTagsIndex++;
- expect(actual.attributeEnd, isNotNull);
- expect(actual.contentEnd, isNotNull);
- int count = 0;
- ht.Token token = actual.attributeEnd.next;
- ht.Token lastToken = actual.contentEnd;
- while (!identical(token, lastToken)) {
- token = token.next;
- if (++count > 1000) {
- fail(
- "Expected $_expectedTagsIndex tag: ${expected._tag} to have a sequence of tokens from getAttributeEnd() to getContentEnd()");
- break;
- }
- }
- if (actual.attributeEnd.type == ht.TokenType.GT) {
- if (ht.HtmlParser.SELF_CLOSING.contains(actual.tag)) {
- expect(actual.closingTag, isNull);
- } else {
- expect(actual.closingTag, isNotNull);
- }
- } else if (actual.attributeEnd.type == ht.TokenType.SLASH_GT) {
- expect(actual.closingTag, isNull);
- } else {
- fail("Unexpected attribute end token: ${actual.attributeEnd.lexeme}");
- }
- if (expected._content != null && expected._content != actual.content) {
- _errors.add(
- "Expected $_expectedTagsIndex tag: ${expected._tag} to have content '${expected._content}' but found '${actual.content}'");
- }
- if (expected._children.length != actual.tagNodes.length) {
- _errors.add(
- "Expected $_expectedTagsIndex tag: ${expected._tag} to have ${expected._children.length} children but found ${actual.tagNodes.length}");
- } else {
- for (int index = 0; index < expected._children.length; index++) {
- String expectedChildTag = expected._children[index]._tag;
- String actualChildTag = actual.tagNodes[index].tag;
- if (expectedChildTag != actualChildTag) {
- _errors.add(
- "Expected $_expectedTagsIndex tag: ${expected._tag} child $index to have tag: $expectedChildTag but found: $actualChildTag");
- }
- }
- }
- } else {
- _errors.add("Visited unexpected tag: $actualTag");
- }
- }
- _validateNode(actual);
- return super.visitXmlTagNode(actual);
- }
-
- /**
- * Append the specified tags to the array in depth first order
- *
- * @param expected the array to which the tags are added (not `null`)
- * @param expectedTags the expected tags to be added (not `null`, contains no `null`s)
- */
- void _expectTags(
- List<XmlValidator_Tag> expected, List<XmlValidator_Tag> expectedTags) {
- for (XmlValidator_Tag tag in expectedTags) {
- expected.add(tag);
- _expectTags(expected, tag._children);
- }
- }
-
- void _validateNode(ht.XmlNode node) {
- if (node.beginToken == null) {
- _errors.add("No begin token for ${node.runtimeType}");
- }
- if (node.endToken == null) {
- _errors.add("No end token for ${node.runtimeType}");
- }
- int nodeStart = node.offset;
- int nodeLength = node.length;
- if (nodeStart < 0 || nodeLength < 0) {
- _errors.add("No source info for ${node.runtimeType}");
- }
- ht.XmlNode parent = node.parent;
- if (parent != null) {
- int nodeEnd = nodeStart + nodeLength;
- int parentStart = parent.offset;
- int parentEnd = parentStart + parent.length;
- if (nodeStart < parentStart) {
- _errors.add(
- "Invalid source start ($nodeStart) for ${node.runtimeType} inside ${parent.runtimeType} ($parentStart)");
- }
- if (nodeEnd > parentEnd) {
- _errors.add(
- "Invalid source end ($nodeEnd) for ${node.runtimeType} inside ${parent.runtimeType} ($parentStart)");
- }
- }
- }
-}
-
-class XmlValidator_Attributes {
- final List<String> _keyValuePairs;
- XmlValidator_Attributes([this._keyValuePairs = StringUtilities.EMPTY_ARRAY]);
-}
-
-class XmlValidator_Tag {
- static const List<XmlValidator_Tag> EMPTY_LIST = const <XmlValidator_Tag>[];
- final String _tag;
- final XmlValidator_Attributes _attributes;
- final String _content;
- final List<XmlValidator_Tag> _children;
- XmlValidator_Tag(this._tag, this._attributes, this._content,
- [this._children = EMPTY_LIST]);
-}
« no previous file with comments | « pkg/analyzer/test/enum_test.dart ('k') | pkg/analyzer/test/generated/element_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698