Index: frog/tests/leg/parser_helper.dart |
=================================================================== |
--- frog/tests/leg/parser_helper.dart (revision 8644) |
+++ frog/tests/leg/parser_helper.dart (working copy) |
@@ -1,74 +0,0 @@ |
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-#library('parser_helper'); |
- |
-#import("dart:uri"); |
- |
-#import("../../../lib/compiler/implementation/elements/elements.dart"); |
-#import("../../../lib/compiler/implementation/tree/tree.dart"); |
-#import('../../../lib/compiler/implementation/scanner/scannerlib.dart'); |
-#import("../../../lib/compiler/implementation/leg.dart"); |
-#import("../../../lib/compiler/implementation/util/util.dart"); |
- |
-class LoggerCanceler implements DiagnosticListener { |
- void cancel([String reason, node, token, instruction, element]) { |
- throw new CompilerCancelledException(reason); |
- } |
- |
- void log(message) { |
- print(message); |
- } |
-} |
- |
-Token scan(String text) => new StringScanner(text).tokenize(); |
- |
-Node parseBodyCode(String text, Function parseMethod) { |
- Token tokens = scan(text); |
- LoggerCanceler lc = new LoggerCanceler(); |
- NodeListener listener = new NodeListener(lc, null); |
- Parser parser = new Parser(listener); |
- Token endToken = parseMethod(parser, tokens); |
- assert(endToken.kind == EOF_TOKEN); |
- Node node = listener.popNode(); |
- Expect.isNotNull(node); |
- Expect.isTrue(listener.nodes.isEmpty(), 'Not empty: ${listener.nodes}'); |
- return node; |
-} |
- |
-Node parseStatement(String text) => |
- parseBodyCode(text, (parser, tokens) => parser.parseStatement(tokens)); |
- |
-Node parseFunction(String text, Compiler compiler) { |
- Element element = parseUnit(text, compiler, compiler.mainApp).head; |
- Expect.isNotNull(element); |
- Expect.equals(ElementKind.FUNCTION, element.kind); |
- return element.parseNode(compiler); |
-} |
- |
-class MockFile { |
- final filename = '<string>'; |
- final text; |
- MockFile(this.text); |
-} |
- |
-Link<Element> parseUnit(String text, Compiler compiler, |
- LibraryElement library) { |
- Token tokens = scan(text); |
- Uri uri = new Uri(scheme: "source"); |
- var script = new Script(uri, new MockFile(text)); |
- var unit = new CompilationUnitElement(script, library); |
- int id = 0; |
- ElementListener listener = new ElementListener(compiler, unit, () => id++); |
- PartialParser parser = new PartialParser(listener); |
- compiler.withCurrentElement(unit, () => parser.parseUnit(tokens)); |
- return unit.topLevelElements; |
-} |
- |
-// TODO(ahe): We define this method to avoid having to import |
-// the scanner in the tests. We should move SourceString to another |
-// location instead. |
-SourceString buildSourceString(String name) { |
- return new SourceString(name); |
-} |