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

Side by Side Diff: tests/compiler/dart2js/parser_helper.dart

Issue 10583016: Add a test for operator[] unparse. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Last iteration Created 8 years, 6 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 unified diff | Download patch | Annotate | Revision Log
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 #library('parser_helper'); 5 #library('parser_helper');
6 6
7 #import("dart:uri"); 7 #import("dart:uri");
8 8
9 #import("../../../lib/compiler/implementation/elements/elements.dart"); 9 #import("../../../lib/compiler/implementation/elements/elements.dart");
10 #import("../../../lib/compiler/implementation/tree/tree.dart"); 10 #import("../../../lib/compiler/implementation/tree/tree.dart");
(...skipping 29 matching lines...) Expand all
40 Node parseStatement(String text) => 40 Node parseStatement(String text) =>
41 parseBodyCode(text, (parser, tokens) => parser.parseStatement(tokens)); 41 parseBodyCode(text, (parser, tokens) => parser.parseStatement(tokens));
42 42
43 Node parseFunction(String text, Compiler compiler) { 43 Node parseFunction(String text, Compiler compiler) {
44 Element element = parseUnit(text, compiler, compiler.mainApp).head; 44 Element element = parseUnit(text, compiler, compiler.mainApp).head;
45 Expect.isNotNull(element); 45 Expect.isNotNull(element);
46 Expect.equals(ElementKind.FUNCTION, element.kind); 46 Expect.equals(ElementKind.FUNCTION, element.kind);
47 return element.parseNode(compiler); 47 return element.parseNode(compiler);
48 } 48 }
49 49
50 Node parseMember(String text) =>
51 parseBodyCode(text, (parser, tokens) => parser.parseMember(tokens));
52
50 class MockFile { 53 class MockFile {
51 final filename = '<string>'; 54 final filename = '<string>';
52 final text; 55 final text;
53 MockFile(this.text); 56 MockFile(this.text);
54 } 57 }
55 58
56 Link<Element> parseUnit(String text, Compiler compiler, 59 Link<Element> parseUnit(String text, Compiler compiler,
57 LibraryElement library) { 60 LibraryElement library) {
58 Token tokens = scan(text); 61 Token tokens = scan(text);
59 Uri uri = new Uri(scheme: "source"); 62 Uri uri = new Uri(scheme: "source");
60 var script = new Script(uri, new MockFile(text)); 63 var script = new Script(uri, new MockFile(text));
61 var unit = new CompilationUnitElement(script, library); 64 var unit = new CompilationUnitElement(script, library);
62 int id = 0; 65 int id = 0;
63 ElementListener listener = new ElementListener(compiler, unit, () => id++); 66 ElementListener listener = new ElementListener(compiler, unit, () => id++);
64 PartialParser parser = new PartialParser(listener); 67 PartialParser parser = new PartialParser(listener);
65 compiler.withCurrentElement(unit, () => parser.parseUnit(tokens)); 68 compiler.withCurrentElement(unit, () => parser.parseUnit(tokens));
66 return unit.topLevelElements; 69 return unit.topLevelElements;
67 } 70 }
68 71
69 // TODO(ahe): We define this method to avoid having to import 72 // TODO(ahe): We define this method to avoid having to import
70 // the scanner in the tests. We should move SourceString to another 73 // the scanner in the tests. We should move SourceString to another
71 // location instead. 74 // location instead.
72 SourceString buildSourceString(String name) { 75 SourceString buildSourceString(String name) {
73 return new SourceString(name); 76 return new SourceString(name);
74 } 77 }
OLDNEW
« no previous file with comments | « lib/compiler/implementation/tree/unparser.dart ('k') | tests/compiler/dart2js/unparser_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698