| Index: compiler/javatests/com/google/dart/compiler/CompilerTestCase.java
|
| diff --git a/compiler/javatests/com/google/dart/compiler/CompilerTestCase.java b/compiler/javatests/com/google/dart/compiler/CompilerTestCase.java
|
| index d47f7145978dd86f8aa2c78b8c6384da662c2d51..f78a6fbd684946b157e8705074184e5ce1acebb0 100644
|
| --- a/compiler/javatests/com/google/dart/compiler/CompilerTestCase.java
|
| +++ b/compiler/javatests/com/google/dart/compiler/CompilerTestCase.java
|
| @@ -4,8 +4,11 @@
|
|
|
| package com.google.dart.compiler;
|
|
|
| +import static com.google.dart.compiler.common.ErrorExpectation.assertErrors;
|
| +
|
| import com.google.common.collect.Lists;
|
| import com.google.common.collect.Maps;
|
| +import com.google.common.collect.Sets;
|
| import com.google.dart.compiler.CommandLineOptions.CompilerOptions;
|
| import com.google.dart.compiler.ast.ASTVisitor;
|
| import com.google.dart.compiler.ast.DartExpression;
|
| @@ -14,12 +17,9 @@ import com.google.dart.compiler.ast.DartNode;
|
| import com.google.dart.compiler.ast.DartUnit;
|
| import com.google.dart.compiler.ast.LibraryUnit;
|
| import com.google.dart.compiler.common.ErrorExpectation;
|
| +import com.google.dart.compiler.common.SourceInfo;
|
| import com.google.dart.compiler.parser.DartParser;
|
| import com.google.dart.compiler.parser.DartParserRunner;
|
| -import com.google.dart.compiler.parser.DartScannerParserContext;
|
| -import com.google.dart.compiler.parser.ParserContext;
|
| -
|
| -import static com.google.dart.compiler.common.ErrorExpectation.assertErrors;
|
|
|
| import junit.framework.TestCase;
|
|
|
| @@ -196,9 +196,8 @@ public abstract class CompilerTestCase extends TestCase {
|
| // Prepare unit.
|
| Map<URI, DartUnit> testUnits = Maps.newHashMap();
|
| {
|
| - DartSourceTest src = new DartSourceTest(name, code, lib);
|
| - ParserContext context = makeParserContext(src, code, result);
|
| - DartUnit unit = makeParser(context).parseUnit(src);
|
| + DartSource src = new DartSourceTest(name, code, lib);
|
| + DartUnit unit = makeParser(src, code, result).parseUnit();
|
| // Remember unit.
|
| lib.addSource(src);
|
| testUnits.put(src.getUri(), unit);
|
| @@ -256,8 +255,7 @@ public abstract class CompilerTestCase extends TestCase {
|
| // TODO(jgw): We'll need to fill in the library parameter when testing multiple units.
|
| DartSourceTest src = new DartSourceTest(srcName, sourceCode, null);
|
| DartCompilerListenerTest listener = new DartCompilerListenerTest(srcName, errors);
|
| - ParserContext context = makeParserContext(src, sourceCode, listener);
|
| - DartUnit unit = makeParser(context).parseUnit(src);
|
| + DartUnit unit = makeParser(src, sourceCode, listener).parseUnit();
|
| listener.checkAllErrorsReported();
|
| return unit;
|
| }
|
| @@ -276,8 +274,7 @@ public abstract class CompilerTestCase extends TestCase {
|
| errorsEncountered.add(event);
|
| }
|
| };
|
| - ParserContext context = makeParserContext(src, sourceCode, listener);
|
| - DartUnit unit = makeParser(context).parseUnit(src);
|
| + DartUnit unit = makeParser(src, sourceCode, listener).parseUnit();
|
| assertTrue("Expected some compilation errors, got none.", errorsEncountered.size() > 0);
|
| return unit;
|
| }
|
| @@ -291,8 +288,7 @@ public abstract class CompilerTestCase extends TestCase {
|
| }
|
| };
|
| DartCompilerListenerTest listener = new DartCompilerListenerTest(srcName, errors);
|
| - ParserContext context = makeParserContext(src, sourceCode, listener);
|
| - DartUnit unit = makeParser(context).parseUnit(src);
|
| + DartUnit unit = makeParser(src, sourceCode, listener).parseUnit();
|
| listener.checkAllErrorsReported();
|
| return unit;
|
| }
|
| @@ -309,8 +305,7 @@ public abstract class CompilerTestCase extends TestCase {
|
| String srcName = "Test.dart";
|
| DartSourceTest src = new DartSourceTest(srcName, sourceCode, null);
|
| DartCompilerListenerTest listener = new DartCompilerListenerTest(srcName, errors);
|
| - ParserContext context = makeParserContext(src, sourceCode, listener);
|
| - DartUnit unit = makeParser(context).parseUnit(src);
|
| + DartUnit unit = makeParser(src, sourceCode, listener).parseUnit();
|
| listener.checkAllErrorsReported();
|
| return unit;
|
| }
|
| @@ -329,8 +324,7 @@ public abstract class CompilerTestCase extends TestCase {
|
| // TODO(jgw): We'll need to fill in the library parameter when testing multiple units.
|
| DartSourceTest src = new DartSourceTest(path, sourceCode, null);
|
| DartCompilerListenerTest listener = new DartCompilerListenerTest(path, errors);
|
| - ParserContext context = makeParserContext(src, sourceCode, listener);
|
| - DartUnit unit = makeParser(context).parseUnit(src);
|
| + DartUnit unit = makeParser(src, sourceCode, listener).parseUnit();
|
| listener.checkAllErrorsReported();
|
| return unit;
|
| }
|
| @@ -338,16 +332,9 @@ public abstract class CompilerTestCase extends TestCase {
|
| /**
|
| * Override this method to provide an alternate {@link DartParser}.
|
| */
|
| - protected DartParser makeParser(ParserContext context) {
|
| - return new DartParser(context);
|
| - }
|
| -
|
| - /**
|
| - * Override this method to provide an alternate {@link ParserContext}.
|
| - */
|
| - protected ParserContext makeParserContext(Source src, String sourceCode,
|
| + protected DartParser makeParser(Source src, String sourceCode,
|
| DartCompilerListener listener) {
|
| - return new DartScannerParserContext(src, sourceCode, listener);
|
| + return new DartParser(src, sourceCode, false, Sets.<String>newHashSet(), listener, null);
|
| }
|
|
|
| /**
|
| @@ -409,4 +396,9 @@ public abstract class CompilerTestCase extends TestCase {
|
| });
|
| return result[0];
|
| }
|
| +
|
| + public static String getNodeSource(String code, DartNode node) {
|
| + SourceInfo sourceInfo = node.getSourceInfo();
|
| + return code.substring(sourceInfo.getOffset(), sourceInfo.getEnd());
|
| + }
|
| }
|
|
|