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

Unified Diff: pkg/analyzer/lib/src/generated/html.dart

Issue 184893003: New analyzer snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 10 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
Index: pkg/analyzer/lib/src/generated/html.dart
diff --git a/pkg/analyzer/lib/src/generated/html.dart b/pkg/analyzer/lib/src/generated/html.dart
index 2d511c131690d5434b72e0ee0039ccf5d848bf52..85708aaeb6b687a58e3542e07e0fc3690a125046 100644
--- a/pkg/analyzer/lib/src/generated/html.dart
+++ b/pkg/analyzer/lib/src/generated/html.dart
@@ -166,29 +166,6 @@ class RawXmlExpression extends XmlExpression {
}
/**
- * Instances of `HtmlParseResult` hold the result of parsing an HTML file.
- *
- * @coverage dart.engine.html
- */
-class HtmlParseResult extends HtmlScanResult {
- /**
- * The unit containing the parsed information (not `null`).
- */
- HtmlUnit _unit;
-
- HtmlParseResult(int modificationTime, Token token, List<int> lineStarts, HtmlUnit unit) : super(modificationTime, token, lineStarts) {
- this._unit = unit;
- }
-
- /**
- * Answer the unit generated by parsing the source
- *
- * @return the unit (not `null`)
- */
- HtmlUnit get htmlUnit => _unit;
-}
-
-/**
* Instances of the class `RecursiveXmlVisitor` implement an XML visitor that will recursively
* visit all of the nodes in an XML structure. For example, using an instance of this class to visit
* a [XmlTagNode] will also cause all of the contained [XmlAttributeNode]s and
@@ -976,30 +953,6 @@ abstract class AbstractScanner {
}
/**
- * Instances of `HtmlScanResult` hold the result of scanning an HTML file.
- *
- * @coverage dart.engine.html
- */
-class HtmlScanResult {
- /**
- * The time at which the contents of the source were last set.
- */
- final int modificationTime;
-
- /**
- * The first token in the token stream (not `null`).
- */
- final Token token;
-
- /**
- * The line start information that was produced.
- */
- final List<int> lineStarts;
-
- HtmlScanResult(this.modificationTime, this.token, this.lineStarts);
-}
-
-/**
* Instances of the class `StringScanner` implement a scanner that reads from a string. The
* scanning logic is in the superclass.
*
@@ -1366,65 +1319,6 @@ class XmlExpression_Reference {
}
/**
- * Instances of `HtmlScanner` receive and scan HTML content from a [Source].<br/>
- * For example, the following code scans HTML source and returns the result:
- *
- * <pre>
- * HtmlScanner scanner = new HtmlScanner(source);
- * source.getContents(scanner);
- * return scanner.getResult();
- * </pre>
- *
- * @coverage dart.engine.html
- */
-class HtmlScanner implements Source_ContentReceiver {
- List<String> _SCRIPT_TAG = <String> ["script"];
-
- /**
- * The source being scanned (not `null`)
- */
- Source _source;
-
- /**
- * The time at which the contents of the source were last set.
- */
- int _modificationTime = 0;
-
- /**
- * The scanner used to scan the source
- */
- AbstractScanner _scanner;
-
- /**
- * The first token in the token stream.
- */
- Token _token;
-
- /**
- * Construct a new instance to scan the specified source.
- *
- * @param source the source to be scanned (not `null`)
- */
- HtmlScanner(Source source) {
- this._source = source;
- }
-
- void accept(String contents, int modificationTime) {
- this._modificationTime = modificationTime;
- _scanner = new StringScanner(_source, contents);
- _scanner.passThroughElements = _SCRIPT_TAG;
- _token = _scanner.tokenize();
- }
-
- /**
- * Answer the result of scanning the source
- *
- * @return the result (not `null`)
- */
- HtmlScanResult get result => new HtmlScanResult(_modificationTime, _token, _scanner.lineStarts);
-}
-
-/**
* Instances of the class `XmlParser` are used to parse tokens into a AST structure comprised
* of [XmlNode]s.
*
@@ -1491,22 +1385,20 @@ class XmlParser {
List<XmlTagNode> parseTopTagNodes(Token firstToken) {
_currentToken = firstToken;
List<XmlTagNode> tagNodes = new List<XmlTagNode>();
- while (true) {
- while (true) {
- if (_currentToken.type == TokenType.LT) {
- tagNodes.add(parseTagNode());
- } else if (_currentToken.type == TokenType.DECLARATION || _currentToken.type == TokenType.DIRECTIVE || _currentToken.type == TokenType.COMMENT) {
- // ignored tokens
- _currentToken = _currentToken.next;
- } else if (_currentToken.type == TokenType.EOF) {
- return tagNodes;
- } else {
- reportUnexpectedToken();
- _currentToken = _currentToken.next;
- }
- break;
+ TokenType type = _currentToken.type;
+ while (type != TokenType.EOF) {
+ if (identical(type, TokenType.LT)) {
+ tagNodes.add(parseTagNode());
+ } else if (identical(type, TokenType.DECLARATION) || identical(type, TokenType.DIRECTIVE) || identical(type, TokenType.COMMENT)) {
+ // ignored tokens
+ _currentToken = _currentToken.next;
+ } else {
+ reportUnexpectedToken();
+ _currentToken = _currentToken.next;
}
+ type = _currentToken.type;
}
+ return tagNodes;
}
/**
@@ -1572,19 +1464,16 @@ class XmlParser {
return XmlTagNode.NO_ATTRIBUTES;
}
List<XmlAttributeNode> attributes = new List<XmlAttributeNode>();
- while (true) {
- while (true) {
- if (_currentToken.type == TokenType.GT || _currentToken.type == TokenType.SLASH_GT || _currentToken.type == TokenType.EOF) {
- return attributes;
- } else if (_currentToken.type == TokenType.TAG) {
- attributes.add(parseAttribute());
- } else {
- reportUnexpectedToken();
- _currentToken = _currentToken.next;
- }
- break;
+ while (type != TokenType.GT && type != TokenType.SLASH_GT && type != TokenType.EOF) {
+ if (identical(type, TokenType.TAG)) {
+ attributes.add(parseAttribute());
+ } else {
+ reportUnexpectedToken();
+ _currentToken = _currentToken.next;
}
+ type = _currentToken.type;
}
+ return attributes;
}
/**
@@ -1599,22 +1488,19 @@ class XmlParser {
return XmlTagNode.NO_TAG_NODES;
}
List<XmlTagNode> nodes = new List<XmlTagNode>();
- while (true) {
- while (true) {
- if (_currentToken.type == TokenType.LT) {
- nodes.add(parseTagNode());
- } else if (_currentToken.type == TokenType.LT_SLASH || _currentToken.type == TokenType.EOF) {
- return nodes;
- } else if (_currentToken.type == TokenType.COMMENT) {
- // ignored token
- _currentToken = _currentToken.next;
- } else {
- reportUnexpectedToken();
- _currentToken = _currentToken.next;
- }
- break;
+ while (type != TokenType.LT_SLASH && type != TokenType.EOF) {
+ if (identical(type, TokenType.LT)) {
+ nodes.add(parseTagNode());
+ } else if (identical(type, TokenType.COMMENT)) {
+ // ignored token
+ _currentToken = _currentToken.next;
+ } else {
+ reportUnexpectedToken();
+ _currentToken = _currentToken.next;
}
+ type = _currentToken.type;
}
+ return nodes;
}
/**
@@ -1997,30 +1883,16 @@ class HtmlParser extends XmlParser {
}
/**
- * Parse the tokens specified by the given scan result.
- *
- * @param scanResult the result of scanning an HTML source (not `null`)
- * @return the parse result (not `null`)
- */
- HtmlParseResult parse(HtmlScanResult scanResult) {
- List<int> lineStarts = scanResult.lineStarts;
- _lineInfo = new LineInfo(lineStarts);
- Token firstToken = scanResult.token;
- List<XmlTagNode> tagNodes = parseTopTagNodes(firstToken);
- HtmlUnit unit = new HtmlUnit(firstToken, tagNodes, currentToken);
- return new HtmlParseResult(scanResult.modificationTime, firstToken, scanResult.lineStarts, unit);
- }
-
- /**
- * Scan then parse the specified source.
+ * Parse the given tokens.
*
- * @param source the source to be scanned and parsed (not `null`)
+ * @param token the first token in the stream of tokens to be parsed
+ * @param lineInfo the line information created by the scanner
* @return the parse result (not `null`)
*/
- HtmlParseResult parse2(Source source) {
- HtmlScanner scanner = new HtmlScanner(source);
- source.getContents(scanner);
- return parse(scanner.result);
+ HtmlUnit parse(Token token, LineInfo lineInfo) {
+ this._lineInfo = lineInfo;
+ List<XmlTagNode> tagNodes = parseTopTagNodes(token);
+ return new HtmlUnit(token, tagNodes, currentToken);
}
XmlAttributeNode createAttributeNode(Token name, Token equals, Token value) => new XmlAttributeNode(name, equals, value);

Powered by Google App Engine
This is Rietveld 408576698