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

Unified Diff: compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java

Issue 11273064: Issue 5887. Parts must start with 'part of'. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java
diff --git a/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java b/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java
index aafec2bf47f6a7edb05b1baec6ed648153dd3e06..39797f3a86db5fbe87bbd5769e4d6e942db9a6f6 100644
--- a/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java
+++ b/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java
@@ -3,21 +3,14 @@
// BSD-style license that can be found in the LICENSE file.
package com.google.dart.compiler.type;
-import com.google.common.base.Joiner;
import com.google.common.collect.Iterables;
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.CompilerTestCase;
-import com.google.dart.compiler.DartArtifactProvider;
import com.google.dart.compiler.DartCompilationError;
-import com.google.dart.compiler.DartCompiler;
import com.google.dart.compiler.DartCompilerErrorCode;
-import com.google.dart.compiler.DartCompilerListener;
import com.google.dart.compiler.DefaultCompilerConfiguration;
-import com.google.dart.compiler.MockArtifactProvider;
-import com.google.dart.compiler.MockLibrarySource;
import com.google.dart.compiler.ast.ASTVisitor;
import com.google.dart.compiler.ast.DartArrayAccess;
import com.google.dart.compiler.ast.DartBinaryExpression;
@@ -56,8 +49,6 @@ import com.google.dart.compiler.resolver.TypeErrorCode;
import static com.google.dart.compiler.common.ErrorExpectation.assertErrors;
import static com.google.dart.compiler.common.ErrorExpectation.errEx;
-import java.io.Reader;
-import java.io.StringReader;
import java.net.URI;
import java.util.List;
import java.util.Set;
@@ -257,8 +248,6 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_resolveClassMethod() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- "Test.dart",
- Joiner.on("\n").join(
"class Object {}",
"class Test {",
" foo() {",
@@ -266,7 +255,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" }",
" f() {",
" }",
- "}"));
+ "}");
DartUnit unit = libraryResult.getLibraryUnitResult().getUnits().iterator().next();
// find f() invocation
DartInvocation invocation = findInvocationSimple(unit, "f()");
@@ -292,16 +281,14 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_resolveLocalFunction() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- "Test.dart",
- Joiner.on("\n").join(
- "class Object {}",
- "class Test {",
- " foo() {",
- " f() {",
- " }",
- " f();",
- " }",
- "}"));
+ "class Object {}",
+ "class Test {",
+ " foo() {",
+ " f() {",
+ " }",
+ " f();",
+ " }",
+ "}");
DartUnit unit = libraryResult.getLibraryUnitResult().getUnits().iterator().next();
// find f() invocation
DartInvocation invocation = findInvocationSimple(unit, "f()");
@@ -495,7 +482,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* http://code.google.com/p/dart/issues/detail?id=345
*/
public void test_badTopLevelFactory() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary("Test.dart", "factory foo() {}");
+ AnalyzeLibraryResult libraryResult = analyzeLibrary("factory foo() {}");
DartUnit unit = libraryResult.getLibraryUnitResult().getUnits().iterator().next();
DartMethodDefinition factory = (DartMethodDefinition) unit.getTopLevelNodes().get(0);
assertNotNull(factory);
@@ -547,20 +534,18 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
- "interface Foo {",
- " int fooA;",
- " void fooB();",
- "}",
- "interface Bar {",
- " void barA();",
- "}",
- "class A implements Foo, Bar {",
- "}",
- "main() {",
- " new A();",
- "}"));
+ "interface Foo {",
+ " int fooA;",
+ " void fooB();",
+ "}",
+ "interface Bar {",
+ " void barA();",
+ "}",
+ "class A implements Foo, Bar {",
+ "}",
+ "main() {",
+ " new A();",
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.CONTRETE_CLASS_WITH_UNIMPLEMENTED_MEMBERS, 8, 7, 1));
@@ -583,8 +568,6 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"abstract class A {",
" abstract void foo();",
"}",
@@ -592,7 +575,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
"}",
"main() {",
" new B();",
- "}"));
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.CONTRETE_CLASS_WITH_UNIMPLEMENTED_MEMBERS, 4, 7, 1));
@@ -612,14 +595,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
- "class A {",
- " abstract void foo();",
- "}",
- "main() {",
- " new A();",
- "}"));
+ "class A {",
+ " abstract void foo();",
+ "}",
+ "main() {",
+ " new A();",
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.CONTRETE_CLASS_WITH_UNIMPLEMENTED_MEMBERS, 1, 7, 1));
@@ -635,14 +616,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"class A {",
" abstract get x;",
"}",
"main() {",
" new A();",
- "}"));
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.CONTRETE_CLASS_WITH_UNIMPLEMENTED_MEMBERS, 1, 7, 1));
@@ -716,14 +695,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
- "abstract class A {",
- " abstract void bar();",
- "}",
- "main() {",
- " new A();",
- "}"));
+ "abstract class A {",
+ " abstract void bar();",
+ "}",
+ "main() {",
+ " new A();",
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.INSTANTIATION_OF_ABSTRACT_CLASS, 5, 7, 1));
@@ -736,22 +713,18 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
*/
public void test_warnAbstract_onAbstractClass_whenInstantiate_factoryConstructor()
throws Exception {
- AnalyzeLibraryResult libraryResult =
- analyzeLibrary(
- getName(),
- makeCode(
- "abstract class A {", // explicitly abstract
- " factory A() {",
- " return null;",
- " }",
- "}",
- "class C {",
- " foo() {",
- " return new A();", // no error - factory constructor
- " }",
- "}"));
- assertErrors(
- libraryResult.getTypeErrors());
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
+ "abstract class A {", // explicitly abstract
+ " factory A() {",
+ " return null;",
+ " }",
+ "}",
+ "class C {",
+ " foo() {",
+ " return new A();", // no error - factory constructor
+ " }",
+ "}");
+ assertErrors(libraryResult.getTypeErrors());
}
/**
@@ -763,21 +736,18 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
- "abstract class A {", // class is abstract
- " factory A() {",
- " return null;",
- " }",
- " abstract method();",
- "}",
- "class C {",
- " foo() {",
- " return new A();", // no error, factory constructor
- " }",
- "}"));
- assertErrors(
- libraryResult.getTypeErrors());
+ "abstract class A {", // class is abstract
+ " factory A() {",
+ " return null;",
+ " }",
+ " abstract method();",
+ "}",
+ "class C {",
+ " foo() {",
+ " return new A();", // no error, factory constructor
+ " }",
+ "}");
+ assertErrors(libraryResult.getTypeErrors());
}
/**
@@ -786,14 +756,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void testWarnOnNonVoidSetter() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"class A {",
" void set foo(bool a) {}",
" set bar(bool a) {}",
" dynamic set baz(bool a) {}",
" bool set bob(bool a) {}",
- "}"));
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.SETTER_RETURN_TYPE, 4, 3, 7),
@@ -818,14 +786,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_callFunctionFromField() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
- "class WorkElement {",
- " Function run;",
- "}",
- "foo(WorkElement e) {",
- " e.run();",
- "}"));
+ "class WorkElement {",
+ " Function run;",
+ "}",
+ "foo(WorkElement e) {",
+ " e.run();",
+ "}");
assertErrors(libraryResult.getTypeErrors());
}
@@ -853,8 +819,6 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
*/
public void test_doubleGetterAccess_inForEach() throws Exception {
AnalyzeLibraryResult libraryResult = analyzeLibrary(
- getName(),
- makeCode(
"class Test {",
" Iterable get iter {}",
"}",
@@ -862,7 +826,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
"f() {",
" for (var v in test.iter) {}",
"}",
- ""));
+ "");
assertErrors(libraryResult.getTypeErrors());
}
@@ -873,8 +837,6 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_invocationArguments() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"/* 01 */ foo() {",
"/* 02 */ f_0_0();",
"/* 03 */ f_0_0(-1);",
@@ -898,7 +860,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
"f_2_0(r1, r2) {}",
"f_0_1({n1}) {}",
"f_0_2({n1, n2}) {}",
- ""));
+ "");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.EXTRA_ARGUMENT, 3, 18, 2),
@@ -916,20 +878,16 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
}
/**
- * Test for errors and warnings related to positional and named arguments for required and
- * optional parameters.
+ * Test that optional positional and named parameters are handled separately.
*/
public void test_invocationArguments2() throws Exception {
- AnalyzeLibraryResult libraryResult =
- analyzeLibrary(
- getName(),
- makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "func([int np1, int np2, int np3]) {}",
- "main() {",
- " func(np1: 1, np2: 2, np3: 2);",
- "}",
- ""));
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "func([int np1, int np2, int np3]) {}",
+ "main() {",
+ " func(np1: 1, np2: 2, np3: 2);",
+ "}",
+ "");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.NO_SUCH_NAMED_PARAMETER, 4, 8, 6),
@@ -943,27 +901,24 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_DartNewExpression_getType() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "class A {",
- " A() {}",
- " A.foo() {}",
- "}",
- "var a1 = new A();",
- "var a2 = new A.foo();",
- ""));
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "class A {",
+ " A() {}",
+ " A.foo() {}",
+ "}",
+ "var a1 = new A();",
+ "var a2 = new A.foo();",
+ "");
assertErrors(libraryResult.getErrors());
- DartUnit unit = libraryResult.getLibraryUnitResult().getUnit(getName());
// new A()
{
- DartNewExpression newExpression = (DartNewExpression) getTopLevelFieldInitializer(unit, 1);
+ DartNewExpression newExpression = (DartNewExpression) getTopLevelFieldInitializer(testUnit, 1);
Type newType = newExpression.getType();
assertEquals("A", newType.getElement().getName());
}
// new A.foo()
{
- DartNewExpression newExpression = (DartNewExpression) getTopLevelFieldInitializer(unit, 2);
+ DartNewExpression newExpression = (DartNewExpression) getTopLevelFieldInitializer(testUnit, 2);
Type newType = newExpression.getType();
assertEquals("A", newType.getElement().getName());
}
@@ -988,25 +943,23 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_setterOnlyProperty_noGetter() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
- "class SetOnly {",
- " set foo(arg) {}",
- "}",
- "class SetOnlyWrapper {",
- " SetOnly setOnly;",
- "}",
- "",
- "main() {",
- " SetOnly setOnly = new SetOnly();",
- " setOnly.foo = 1;", // 10: OK, use setter
- " setOnly.foo += 2;", // 11: ERR, no getter
- " print(setOnly.foo);", // 12: ERR, no getter
- " var bar;",
- " bar = setOnly.foo;", // 14: ERR, assignment, but we are not LHS
- " bar = new SetOnlyWrapper().setOnly.foo;", // 15: ERR, even in chained expression
- " new SetOnlyWrapper().setOnly.foo = 3;", // 16: OK
- "}"));
+ "class SetOnly {",
+ " set foo(arg) {}",
+ "}",
+ "class SetOnlyWrapper {",
+ " SetOnly setOnly;",
+ "}",
+ "",
+ "main() {",
+ " SetOnly setOnly = new SetOnly();",
+ " setOnly.foo = 1;", // 10: OK, use setter
+ " setOnly.foo += 2;", // 11: ERR, no getter
+ " print(setOnly.foo);", // 12: ERR, no getter
+ " var bar;",
+ " bar = setOnly.foo;", // 14: ERR, assignment, but we are not LHS
+ " bar = new SetOnlyWrapper().setOnly.foo;", // 15: ERR, even in chained expression
+ " new SetOnlyWrapper().setOnly.foo = 3;", // 16: OK
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.FIELD_HAS_NO_GETTER, 11, 11, 3),
@@ -1018,26 +971,22 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_setterOnlyProperty_normalField() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
- "class A {",
- " var foo;",
- "}",
- "",
- "main() {",
- " A a = new A();",
- " a.foo = 1;",
- " a.foo += 2;",
- " print(a.foo);",
- "}"));
+ "class A {",
+ " var foo;",
+ "}",
+ "",
+ "main() {",
+ " A a = new A();",
+ " a.foo = 1;",
+ " a.foo += 2;",
+ " print(a.foo);",
+ "}");
assertErrors(libraryResult.getTypeErrors());
}
public void test_setterOnlyProperty_getterInSuper() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"class A {",
" get foo {}",
"}",
@@ -1050,15 +999,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" b.foo = 1;",
" b.foo += 2;",
" print(b.foo);",
- "}"));
+ "}");
assertErrors(libraryResult.getTypeErrors());
}
public void test_setterOnlyProperty_getterInInterface() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"interface A {",
" get foo {}",
"}",
@@ -1071,7 +1018,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" b.foo = 1;",
" b.foo += 2;",
" print(b.foo);",
- "}"));
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.INSTANTIATION_OF_ABSTRACT_CLASS, 9, 13, 1));
@@ -1080,8 +1027,6 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_getterOnlyProperty_noSetter() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"class GetOnly {",
" get foo {}",
"}",
@@ -1098,7 +1043,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" bar = getOnly.foo;", // 14: OK, use getter
" new GetOnlyWrapper().getOnly.foo = 3;", // 15: ERR, no setter
" bar = new GetOnlyWrapper().getOnly.foo;", // 16: OK, use getter
- "}"));
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.FIELD_HAS_NO_SETTER, 11, 11, 3),
@@ -1109,8 +1054,6 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_getterOnlyProperty_setterInSuper() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"class A {",
" set foo(arg) {}",
"}",
@@ -1123,15 +1066,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" b.foo = 1;",
" b.foo += 2;",
" print(b.foo);",
- "}"));
+ "}");
assertErrors(libraryResult.getTypeErrors());
}
public void test_getterOnlyProperty_setterInInterface() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"interface A {",
" set foo(arg) {}",
"}",
@@ -1144,7 +1085,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" b.foo = 1;",
" b.foo += 2;",
" print(b.foo);",
- "}"));
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.INSTANTIATION_OF_ABSTRACT_CLASS, 9, 13, 1));
@@ -1228,18 +1169,16 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_finalField_inClass() throws Exception {
AnalyzeLibraryResult libraryResult = analyzeLibrary(
- getName(),
- makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "class A {",
- " final f;",
- "}",
- "main() {",
- " A a = new A();",
- " a.f = 0;", // 6: ERR, is final
- " a.f += 1;", // 7: ERR, is final
- " print(a.f);", // 8: OK, can read
- "}"));
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "class A {",
+ " final f;",
+ "}",
+ "main() {",
+ " A a = new A();",
+ " a.f = 0;", // 6: ERR, is final
+ " a.f += 1;", // 7: ERR, is final
+ " print(a.f);", // 8: OK, can read
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.FIELD_IS_FINAL, 7, 5, 1),
@@ -1248,21 +1187,19 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_finalField_inInterface() throws Exception {
AnalyzeLibraryResult libraryResult = analyzeLibrary(
- getName(),
- makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "interface I default A {",
- " final f;",
- "}",
- "class A implements I {",
- " var f;",
- "}",
- "main() {",
- " I a = new I();",
- " a.f = 0;", // 6: ERR, is final
- " a.f += 1;", // 7: ERR, is final
- " print(a.f);", // 8: OK, can read
- "}"));
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "interface I default A {",
+ " final f;",
+ "}",
+ "class A implements I {",
+ " var f;",
+ "}",
+ "main() {",
+ " I a = new I();",
+ " a.f = 0;", // 6: ERR, is final
+ " a.f += 1;", // 7: ERR, is final
+ " print(a.f);", // 8: OK, can read
+ "}");
assertErrors(
libraryResult.getTypeErrors(),
errEx(TypeErrorCode.FIELD_IS_FINAL, 10, 5, 1),
@@ -1271,43 +1208,39 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_notFinalField() throws Exception {
AnalyzeLibraryResult libraryResult = analyzeLibrary(
- getName(),
- makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "interface I default A {",
- " var f;",
- "}",
- "class A implements I {",
- " var f;",
- "}",
- "main() {",
- " I a = new I();",
- " a.f = 0;", // 6: OK, field "f" is not final
- " a.f += 1;", // 7: OK, field "f" is not final
- " print(a.f);", // 8: OK, can read
- "}"));
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "interface I default A {",
+ " var f;",
+ "}",
+ "class A implements I {",
+ " var f;",
+ "}",
+ "main() {",
+ " I a = new I();",
+ " a.f = 0;", // 6: OK, field "f" is not final
+ " a.f += 1;", // 7: OK, field "f" is not final
+ " print(a.f);", // 8: OK, can read
+ "}");
assertErrors(libraryResult.getTypeErrors());
}
public void test_constField() throws Exception {
AnalyzeLibraryResult libraryResult = analyzeLibrary(
- getName(),
- makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "const f = 1;",
- "class A {",
- " const f = 1;",
- " method() {",
- " f = 2;",
- " this.f = 2;",
- " }",
- "}",
- "main() {",
- " f = 2;",
- " A a = new A();",
- " a.f = 2;",
- "}",
- ""));
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "const f = 1;",
+ "class A {",
+ " const f = 1;",
+ " method() {",
+ " f = 2;",
+ " this.f = 2;",
+ " }",
+ "}",
+ "main() {",
+ " f = 2;",
+ " A a = new A();",
+ " a.f = 2;",
+ "}",
+ "");
assertErrors(
libraryResult.getErrors(),
errEx(ResolverErrorCode.CANNOT_ASSIGN_TO_FINAL, 6, 5, 1),
@@ -1318,13 +1251,11 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_identicalFunction() throws Exception {
AnalyzeLibraryResult libraryResult = analyzeLibrary(
- getName(),
- makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "const A = 1;",
- "const B = 2;",
- "const C = identical(A, B);",
- ""));
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "const A = 1;",
+ "const B = 2;",
+ "const C = identical(A, B);",
+ "");
assertErrors(libraryResult.getErrors());
}
@@ -1414,55 +1345,48 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
public void test_methodReturnTypes() throws Exception {
AnalyzeLibraryResult libraryResult =
analyzeLibrary(
- getName(),
- makeCode(
"// filler filler filler filler filler filler filler filler filler filler",
"int fA() {}",
"dynamic fB() {}",
"void fC() {}",
"fD() {}",
- ""));
+ "");
assertErrors(libraryResult.getTypeErrors());
- DartUnit unit = libraryResult.getLibraryUnitResult().getUnit(getName());
{
- DartMethodDefinition fA = (DartMethodDefinition) unit.getTopLevelNodes().get(0);
+ DartMethodDefinition fA = (DartMethodDefinition) testUnit.getTopLevelNodes().get(0);
assertEquals("int", fA.getElement().getReturnType().getElement().getName());
}
{
- DartMethodDefinition fB = (DartMethodDefinition) unit.getTopLevelNodes().get(1);
+ DartMethodDefinition fB = (DartMethodDefinition) testUnit.getTopLevelNodes().get(1);
assertEquals("dynamic", fB.getElement().getReturnType().getElement().getName());
}
{
- DartMethodDefinition fC = (DartMethodDefinition) unit.getTopLevelNodes().get(2);
+ DartMethodDefinition fC = (DartMethodDefinition) testUnit.getTopLevelNodes().get(2);
assertEquals("void", fC.getElement().getReturnType().getElement().getName());
}
{
- DartMethodDefinition fD = (DartMethodDefinition) unit.getTopLevelNodes().get(3);
+ DartMethodDefinition fD = (DartMethodDefinition) testUnit.getTopLevelNodes().get(3);
assertEquals("dynamic", fD.getElement().getReturnType().getElement().getName());
}
}
public void test_bindToLibraryFunctionFirst() throws Exception {
- AnalyzeLibraryResult libraryResult =
- analyzeLibrary(
- getName(),
- makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "foo() {}",
- "class A {",
- " foo() {}",
- "}",
- "class B extends A {",
- " bar() {",
- " foo();",
- " }",
- "}",
- ""));
- DartUnit unit = libraryResult.getLibraryUnitResult().getUnit(getName());
+ analyzeLibrary(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "foo() {}",
+ "class A {",
+ " foo() {}",
+ "}",
+ "class B extends A {",
+ " bar() {",
+ " foo();",
+ " }",
+ "}",
+ "");
// Find foo() invocation.
DartUnqualifiedInvocation invocation;
{
- DartClass classB = (DartClass) unit.getTopLevelNodes().get(2);
+ DartClass classB = (DartClass) testUnit.getTopLevelNodes().get(2);
DartMethodDefinition methodBar = (DartMethodDefinition) classB.getMembers().get(0);
DartExprStmt stmt = (DartExprStmt) methodBar.getFunction().getBody().getStatements().get(0);
invocation = (DartUnqualifiedInvocation) stmt.getExpression();
@@ -1470,7 +1394,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
// Check that unqualified foo() invocation is resolved to the top-level (library) function.
NodeElement element = invocation.getTarget().getElement();
assertNotNull(element);
- assertSame(unit, element.getNode().getParent());
+ assertSame(testUnit, element.getNode().getParent());
}
/**
@@ -1478,13 +1402,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* as an exception.
*/
public void test_invalidImportUri() throws Exception {
- List<DartCompilationError> errors =
- analyzeLibrarySourceErrors(makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "library test;",
- "import 'badURI';",
- ""));
- assertErrors(errors, errEx(DartCompilerErrorCode.MISSING_SOURCE, 3, 1, 16));
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "library test;",
+ "import 'badURI';",
+ "");
+ assertErrors(libraryResult.getErrors(), errEx(DartCompilerErrorCode.MISSING_SOURCE, 3, 1, 16));
}
/**
@@ -1492,49 +1415,20 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* as an exception.
*/
public void test_invalidSourceUri() throws Exception {
- List<DartCompilationError> errors =
- analyzeLibrarySourceErrors(makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "library test;",
- "part 'badURI';",
- ""));
- assertErrors(errors, errEx(DartCompilerErrorCode.MISSING_SOURCE, 3, 1, 14));
- }
-
- /**
- * Analyzes source for given library and returns {@link DartCompilationError}s.
- */
- private static List<DartCompilationError> analyzeLibrarySourceErrors(final String code)
- throws Exception {
- MockLibrarySource lib = new MockLibrarySource() {
- @Override
- public Reader getSourceReader() {
- return new StringReader(code);
- }
- };
- DartArtifactProvider provider = new MockArtifactProvider();
- final List<DartCompilationError> errors = Lists.newArrayList();
- DartCompiler.analyzeLibrary(
- lib,
- Maps.<URI, DartUnit>newHashMap(),
- CHECK_ONLY_CONFIGURATION,
- provider,
- new DartCompilerListener.Empty() {
- @Override
- public void onError(DartCompilationError event) {
- errors.add(event);
- }
- });
- return errors;
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "library test;",
+ "part 'badURI';",
+ "");
+ assertErrors(libraryResult.getErrors(), errEx(DartCompilerErrorCode.MISSING_SOURCE, 3, 1, 14));
}
public void test_mapLiteralKeysUnique() throws Exception {
- List<DartCompilationError> errors =
- analyzeLibrarySourceErrors(makeCode(
- "// filler filler filler filler filler filler filler filler filler filler",
- "var m = {'a' : 0, 'b': 1, 'a': 2};",
- ""));
- assertErrors(errors, errEx(TypeErrorCode.MAP_LITERAL_KEY_UNIQUE, 2, 27, 3));
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "var m = {'a' : 0, 'b': 1, 'a': 2};",
+ "");
+ assertErrors(libraryResult.getErrors(), errEx(TypeErrorCode.MAP_LITERAL_KEY_UNIQUE, 2, 27, 3));
}
/**
@@ -3411,9 +3305,8 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
"}",
"");
assertErrors(libraryResult.getErrors());
- DartUnit unit = libraryResult.getLibraryUnitResult().getUnit(getName());
// find == expression
- DartExpression expression = findNodeBySource(unit, "new C() == new C()");
+ DartExpression expression = findNodeBySource(testUnit, "new C() == new C()");
assertNotNull(expression);
// validate == element
MethodElement equalsElement = (MethodElement) expression.getElement();
@@ -4470,13 +4363,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* http://code.google.com/p/dart/issues/detail?id=3084
*/
public void test_unresolvedIdentifier_inStatic_notPropertyAccess() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"process(x) {}",
"main() {",
" unknown = 0;",
" process(unknown);",
- "}"));
+ "}");
assertErrors(
libraryResult.getErrors(),
errEx(ResolverErrorCode.CANNOT_BE_RESOLVED, 4, 3, 7),
@@ -4490,7 +4383,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* http://code.google.com/p/dart/issues/detail?id=3084
*/
public void test_unresolvedIdentifier_inInstance_notPropertyAccess() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"process(x) {}",
"class A {",
@@ -4498,7 +4391,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" unknown = 0;",
" process(unknown);",
" }",
- "}"));
+ "}");
assertErrors(
libraryResult.getErrors(),
errEx(TypeErrorCode.CANNOT_BE_RESOLVED, 5, 5, 7),
@@ -4510,13 +4403,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* http://code.google.com/p/dart/issues/detail?id=3084
*/
public void test_unresolvedIdentifier_inStatic_inPropertyAccess() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"process(x) {}",
"main() {",
" Unknown.foo = 0;",
" process(Unknown.foo);",
- "}"));
+ "}");
assertErrors(
libraryResult.getErrors(),
errEx(TypeErrorCode.CANNOT_BE_RESOLVED, 4, 3, 7),
@@ -4529,7 +4422,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* http://code.google.com/p/dart/issues/detail?id=3800
*/
public void test_unresolvedConstructor() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class A {}",
"main() {",
@@ -4537,7 +4430,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" new A.noSuchConstructor(); // warning",
" new B(); // warning",
" new B.noSuchConstructor(); // warning",
- "}"));
+ "}");
assertErrors(
libraryResult.getErrors(),
errEx(ResolverErrorCode.NEW_EXPRESSION_NOT_CONSTRUCTOR, 5, 9, 17),
@@ -4567,7 +4460,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* many other points in the Editor.
*/
public void test_typeForEveryExpression_variable() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(
+ analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class A {}",
"process(x) {}",
@@ -4575,8 +4468,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" A aaa = new A();",
" process(aaa);",
"}");
- DartUnit unit = libraryResult.getLibraryUnitResult().getUnit(getName());
- unit.accept(new ASTVisitor<Void>() {
+ testUnit.accept(new ASTVisitor<Void>() {
public Void visitIdentifier(DartIdentifier node) {
// ignore declaration
if (node.getParent() instanceof DartDeclaration) {
@@ -4598,7 +4490,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* many other points in the Editor.
*/
public void test_typeForEveryExpression_typeNode() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(
+ analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class AAA {",
" static foo() {}",
@@ -4606,8 +4498,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
"main() {",
" AAA.foo();",
"}");
- DartUnit unit = libraryResult.getLibraryUnitResult().getUnit(getName());
- unit.accept(new ASTVisitor<Void>() {
+ testUnit.accept(new ASTVisitor<Void>() {
public Void visitIdentifier(DartIdentifier node) {
// ignore declaration
if (node.getParent() instanceof DartDeclaration) {
@@ -4678,7 +4569,6 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" method(10, 20, 30, 40);",
"}");
assertErrors(libraryResult.getErrors());
- DartUnit unit = libraryResult.getLibraryUnitResult().getUnit(getName());
new ArgumentsBindingTester() {
@Override
void checkArgs(int invocationIndex) {
@@ -4703,7 +4593,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
}
}
}
- }.doTest(unit);
+ }.doTest(testUnit);
}
public void test_formalParameters_positional_named() throws Exception {
@@ -4717,7 +4607,6 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" method(10, 20, d: 40, c: 30);",
"}");
assertErrors(libraryResult.getErrors());
- DartUnit unit = libraryResult.getLibraryUnitResult().getUnit(getName());
new ArgumentsBindingTester() {
@Override
void checkArgs(int invocationIndex) {
@@ -4748,7 +4637,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
}
}
}
- }.doTest(unit);
+ }.doTest(testUnit);
}
/**
@@ -4759,12 +4648,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* http://code.google.com/p/dart/issues/detail?id=3989
*/
public void test_constructorName_sameAsMemberName() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class A {",
" A.foo() {}",
" foo() {}",
- "}"));
+ "}");
assertErrors(
libraryResult.getErrors(),
errEx(ResolverErrorCode.CONSTRUCTOR_WITH_NAME_OF_MEMBER, 3, 3, 5));
@@ -4775,13 +4664,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* http://code.google.com/p/dart/issues/detail?id=3904
*/
public void test_reifiedClasses() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class A {}",
"process(x) {}",
"main() {",
" process(A);",
- "}"));
+ "}");
assertErrors(libraryResult.getErrors());
}
@@ -4790,7 +4679,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* http://code.google.com/p/dart/issues/detail?id=3968
*/
public void test_redirectingFactoryConstructor() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class A {",
" A() {}",
@@ -4801,7 +4690,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" factory B.foo() = A;",
" factory B.bar() = A.named;",
"}",
- ""));
+ "");
assertErrors(libraryResult.getErrors());
// prepare "class A"
ClassElement elementA = findNode(DartClass.class, "class A").getElement();
@@ -4826,7 +4715,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
}
public void test_redirectingFactoryConstructor_cycle() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class A {",
" factory A.nameA() = C.nameC;",
@@ -4837,7 +4726,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
"class C {",
" factory C.nameC() = B.nameB;",
"}",
- ""));
+ "");
assertErrors(
libraryResult.getErrors(),
errEx(ResolverErrorCode.REDIRECTION_CONSTRUCTOR_CYCLE, 3, 11, 7),
@@ -4846,7 +4735,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
}
public void test_redirectingFactoryConstructor_notConst_fromConst() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class A {",
" A.named() {}",
@@ -4855,7 +4744,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
"class B {",
" const factory B.bar() = A.named;",
"}",
- ""));
+ "");
assertErrors(
libraryResult.getErrors(),
errEx(ResolverErrorCode.REDIRECTION_CONSTRUCTOR_TARGET_MUST_BE_CONST, 7, 29, 5));
@@ -4866,7 +4755,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
* http://code.google.com/p/dart/issues/detail?id=4778
*/
public void test_unqualifiedAccessToGenericTypeField() throws Exception {
- AnalyzeLibraryResult libraryResult = analyzeLibrary(makeCode(
+ AnalyzeLibraryResult libraryResult = analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class Game {}",
"class GameRenderer<G extends Game> {",
@@ -4880,7 +4769,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
" var a = game.score;",
" }",
"}",
- ""));
+ "");
assertErrors(libraryResult.getErrors());
}

Powered by Google App Engine
This is Rietveld 408576698