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

Unified Diff: compiler/javatests/com/google/dart/compiler/resolver/ResolverTest.java

Issue 10541184: A redirect constructor cannot reference an instance method. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: compiler/javatests/com/google/dart/compiler/resolver/ResolverTest.java
diff --git a/compiler/javatests/com/google/dart/compiler/resolver/ResolverTest.java b/compiler/javatests/com/google/dart/compiler/resolver/ResolverTest.java
index f8f5ea617111ca4d5bab70ed536e9fc50b474621..86ac2edc335d66e563007dc20428ab9f9161be7d 100644
--- a/compiler/javatests/com/google/dart/compiler/resolver/ResolverTest.java
+++ b/compiler/javatests/com/google/dart/compiler/resolver/ResolverTest.java
@@ -1173,7 +1173,7 @@ public class ResolverTest extends ResolverTestCase {
errEx(ResolverErrorCode.STATIC_FINAL_REQUIRES_VALUE, 9, 16, 2),
errEx(ResolverErrorCode.CONSTANTS_MUST_BE_INITIALIZED, 12, 11, 2));
}
-
+
public void test_const_requiresValue() {
resolveAndTest(Joiner.on("\n").join(
"// filler filler filler filler filler filler filler filler filler filler",
@@ -1214,7 +1214,7 @@ public class ResolverTest extends ResolverTestCase {
errEx(ResolverErrorCode.FIELD_DOES_NOT_HAVE_A_SETTER, 17, 5, 7),
errEx(ResolverErrorCode.FIELD_DOES_NOT_HAVE_A_GETTER, 18, 14, 7));
}
-
+
public void testErrorInUnqualifiedInvocation1() {
resolveAndTest(Joiner.on("\n").join(
"class Object {}",
@@ -1238,7 +1238,7 @@ public class ResolverTest extends ResolverTestCase {
"}"),
errEx(ResolverErrorCode.DID_YOU_MEAN_NEW, 5, 2, 5));
}
-
+
public void testErrorInUnqualifiedInvocation3() {
resolveAndTest(Joiner.on("\n").join(
"class Object {}",
@@ -1246,12 +1246,12 @@ public class ResolverTest extends ResolverTestCase {
"class Foo<T> {",
" method() {",
" T();",
- " }",
+ " }",
"}"),
errEx(ResolverErrorCode.DID_YOU_MEAN_NEW, 5, 4, 3));
- }
+ }
+
-
public void testErrorInUnqualifiedInvocation4() {
resolveAndTest(Joiner.on("\n").join(
"class Object {}",
@@ -1262,7 +1262,7 @@ public class ResolverTest extends ResolverTestCase {
"}"),
errEx(ResolverErrorCode.CANNOT_CALL_FUNCTION_TYPE_ALIAS, 5, 2, 5));
}
-
+
public void testErrorInUnqualifiedInvocation5() {
resolveAndTest(Joiner.on("\n").join(
"class Object {}",
@@ -1274,32 +1274,50 @@ public class ResolverTest extends ResolverTestCase {
"}"),
errEx(ResolverErrorCode.CANNOT_RESOLVE_METHOD, 5, 5, 7));
}
-
+
public void testUndercoreInNamedParameterMethodDefinition() {
resolveAndTest(Joiner.on("\n").join(
"class Object {}",
"method([_foo]) {}",
"class Foo {",
" var _bar;",
- " Foo([this._bar]){}",
+ " Foo([this._bar]){}",
" method([_foo]){}",
"}"),
errEx(ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER, 2, 9, 4),
- errEx(ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER, 5, 8, 9),
- errEx(ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER, 6, 11, 4));
+ errEx(ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER, 5, 8, 9),
+ errEx(ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER, 6, 11, 4));
}
public void testUndercoreInNamedParameterFunctionDefinition() {
resolveAndTest(Joiner.on("\n").join(
"class Object {}",
"var f = func([_foo]) {};"),
- errEx(ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER, 2, 15, 4));
- }
+ errEx(ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER, 2, 15, 4));
+ }
public void testUndercoreInNamedParameterFunctionAlias() {
resolveAndTest(Joiner.on("\n").join(
"class Object {}",
"typedef Object func([_foo]);"),
- errEx(ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER, 2, 22, 4));
- }
+ errEx(ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER, 2, 22, 4));
+ }
+
+ public void testRedirectConstructor() {
+ resolveAndTest(Joiner.on("\n").join(
+ "class Object {}",
+ "interface int {}",
+ "int topLevel() {}",
+ "class A {",
+ " method() {}",
+ "}",
+ "class C {",
+ " C(arg){}",
+ " C.named1() : this(topLevel());", // ok
+ " C.named2() : this(method());", // error, not a static method
+ " C.named3() : this(new A().method());", // ok
+ " method() {}",
+ "}"),
+ errEx(ResolverErrorCode.INSTANCE_METHOD_FROM_REDIRECT, 10, 21, 8));
+ }
}
« no previous file with comments | « compiler/java/com/google/dart/compiler/resolver/ResolverErrorCode.java ('k') | tests/language/language.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698