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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/tree/nodes.dart

Issue 11412147: Fix a type annotation in the parser to make it accept non-literal strings as part URIs in checked m… (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sdk/lib/_internal/compiler/implementation/scanner/listener.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of tree; 5 part of tree;
6 6
7 abstract class Visitor<R> { 7 abstract class Visitor<R> {
8 const Visitor(); 8 const Visitor();
9 9
10 R visitNode(Node node); 10 R visitNode(Node node);
(...skipping 1666 matching lines...) Expand 10 before | Expand all | Expand 10 after
1677 1677
1678 Token getEndToken() => name.getEndToken().next; 1678 Token getEndToken() => name.getEndToken().next;
1679 } 1679 }
1680 1680
1681 /** 1681 /**
1682 * This tag describes a dependency between one library and the exported 1682 * This tag describes a dependency between one library and the exported
1683 * identifiers of another library. The other library is specified by the [uri]. 1683 * identifiers of another library. The other library is specified by the [uri].
1684 * Combinators filter away some identifiers from the other library. 1684 * Combinators filter away some identifiers from the other library.
1685 */ 1685 */
1686 abstract class LibraryDependency extends LibraryTag { 1686 abstract class LibraryDependency extends LibraryTag {
1687 final LiteralString uri; 1687 final LiteralString uri;
ahe 2012/11/22 12:13:37 What about this one?
karlklose 2012/11/22 13:35:04 Done.
1688 final NodeList combinators; 1688 final NodeList combinators;
1689 1689
1690 LibraryDependency(this.uri, this.combinators); 1690 LibraryDependency(this.uri, this.combinators);
1691 } 1691 }
1692 1692
1693 /** 1693 /**
1694 * An [:import:] library tag. 1694 * An [:import:] library tag.
1695 * 1695 *
1696 * An import tag is dependency on another library where the exported identifiers 1696 * An import tag is dependency on another library where the exported identifiers
1697 * are put into the import scope of the importing library. The import scope is 1697 * are put into the import scope of the importing library. The import scope is
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1754 1754
1755 Token getBeginToken() => exportKeyword; 1755 Token getBeginToken() => exportKeyword;
1756 1756
1757 Token getEndToken() { 1757 Token getEndToken() {
1758 if (combinators != null) return combinators.getEndToken().next; 1758 if (combinators != null) return combinators.getEndToken().next;
1759 return uri.getEndToken().next; 1759 return uri.getEndToken().next;
1760 } 1760 }
1761 } 1761 }
1762 1762
1763 class Part extends LibraryTag { 1763 class Part extends LibraryTag {
1764 final LiteralString uri; 1764 final StringNode uri;
1765 1765
1766 final Token partKeyword; 1766 final Token partKeyword;
1767 1767
1768 Part(this.partKeyword, this.uri); 1768 Part(this.partKeyword, this.uri);
1769 1769
1770 bool get isPart => true; 1770 bool get isPart => true;
1771 1771
1772 Part asPart() => this; 1772 Part asPart() => this;
1773 1773
1774 accept(Visitor visitor) => visitor.visitPart(this); 1774 accept(Visitor visitor) => visitor.visitPart(this);
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
1998 * argument). 1998 * argument).
1999 * 1999 *
2000 * TODO(ahe): This method is controversial, the team needs to discuss 2000 * TODO(ahe): This method is controversial, the team needs to discuss
2001 * if top-level methods are acceptable and what naming conventions to 2001 * if top-level methods are acceptable and what naming conventions to
2002 * use. 2002 * use.
2003 */ 2003 */
2004 initializerDo(Node node, f(Node node)) { 2004 initializerDo(Node node, f(Node node)) {
2005 SendSet send = node.asSendSet(); 2005 SendSet send = node.asSendSet();
2006 if (send != null) return f(send.arguments.head); 2006 if (send != null) return f(send.arguments.head);
2007 } 2007 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/compiler/implementation/scanner/listener.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698