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

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

Issue 1892183002: Refactor Parsing to remove compiler dependency (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 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 unified diff | Download patch
« no previous file with comments | « tests/compiler/dart2js/find_my_name_test.dart ('k') | tests/compiler/dart2js/patch_test.dart » ('j') | 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 "package:expect/expect.dart"; 7 import "package:expect/expect.dart";
8 8
9 import "package:compiler/src/elements/elements.dart"; 9 import "package:compiler/src/elements/elements.dart";
10 import 'package:compiler/src/id_generator.dart'; 10 import 'package:compiler/src/id_generator.dart';
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 return node; 117 return node;
118 } 118 }
119 119
120 Node parseStatement(String text) => 120 Node parseStatement(String text) =>
121 parseBodyCode(text, (parser, tokens) => parser.parseStatement(tokens)); 121 parseBodyCode(text, (parser, tokens) => parser.parseStatement(tokens));
122 122
123 Node parseFunction(String text, Compiler compiler) { 123 Node parseFunction(String text, Compiler compiler) {
124 ElementX element = parseUnit(text, compiler, compiler.mainApp).head; 124 ElementX element = parseUnit(text, compiler, compiler.mainApp).head;
125 Expect.isNotNull(element); 125 Expect.isNotNull(element);
126 Expect.equals(ElementKind.FUNCTION, element.kind); 126 Expect.equals(ElementKind.FUNCTION, element.kind);
127 return element.parseNode(compiler.parsing); 127 return element.parseNode(compiler.parsingContext);
128 } 128 }
129 129
130 Node parseMember(String text, {DiagnosticReporter reporter}) { 130 Node parseMember(String text, {DiagnosticReporter reporter}) {
131 return parseBodyCode( 131 return parseBodyCode(
132 text, 132 text,
133 (parser, tokens) => parser.parseMember(tokens), 133 (parser, tokens) => parser.parseMember(tokens),
134 reporter: reporter); 134 reporter: reporter);
135 } 135 }
136 136
137 class MockFile extends StringSourceFile { 137 class MockFile extends StringSourceFile {
138 MockFile(text) 138 MockFile(text)
139 : super.fromName('<string>', text); 139 : super.fromName('<string>', text);
140 } 140 }
141 141
142 var sourceCounter = 0; 142 var sourceCounter = 0;
143 143
144 Link<Element> parseUnit(String text, Compiler compiler, 144 Link<Element> parseUnit(String text, Compiler compiler,
145 LibraryElement library, 145 LibraryElement library,
146 [void registerSource(Uri uri, String source)]) { 146 [void registerSource(Uri uri, String source)]) {
147 Token tokens = scan(text); 147 Token tokens = scan(text);
148 Uri uri = new Uri(scheme: "source", path: '${++sourceCounter}'); 148 Uri uri = new Uri(scheme: "source", path: '${++sourceCounter}');
149 if (registerSource != null) { 149 if (registerSource != null) {
150 registerSource(uri, text); 150 registerSource(uri, text);
151 } 151 }
152 var script = new Script(uri, uri, new MockFile(text)); 152 var script = new Script(uri, uri, new MockFile(text));
153 var unit = new CompilationUnitElementX(script, library); 153 var unit = new CompilationUnitElementX(script, library);
154 DiagnosticReporter reporter = compiler.reporter; 154 DiagnosticReporter reporter = compiler.reporter;
155 ElementListener listener = new ElementListener( 155 ElementListener listener = new ElementListener(
156 compiler.parsing.getScannerOptionsFor(library), 156 compiler.parsingContext.getScannerOptionsFor(library),
157 reporter, unit, new IdGenerator()); 157 reporter, unit, new IdGenerator());
158 PartialParser parser = new PartialParser(listener, new MockParserOptions()); 158 PartialParser parser = new PartialParser(listener, new MockParserOptions());
159 reporter.withCurrentElement(unit, () => parser.parseUnit(tokens)); 159 reporter.withCurrentElement(unit, () => parser.parseUnit(tokens));
160 return unit.localMembers; 160 return unit.localMembers;
161 } 161 }
162 162
163 NodeList fullParseUnit(String source, {DiagnosticReporter reporter}) { 163 NodeList fullParseUnit(String source, {DiagnosticReporter reporter}) {
164 return parseBodyCode( 164 return parseBodyCode(
165 source, 165 source,
166 (parser, tokens) => parser.parseUnit(tokens), 166 (parser, tokens) => parser.parseUnit(tokens),
167 reporter: reporter); 167 reporter: reporter);
168 } 168 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/find_my_name_test.dart ('k') | tests/compiler/dart2js/patch_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698