| 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 4371e256255e0102aa05f0a4958ae60e292f9ba1..e16a53c49a4f407303c21b283b136d45531a632c 100644
|
| --- a/compiler/javatests/com/google/dart/compiler/resolver/ResolverTest.java
|
| +++ b/compiler/javatests/com/google/dart/compiler/resolver/ResolverTest.java
|
| @@ -986,4 +986,64 @@ public class ResolverTest extends ResolverTestCase {
|
| " }",
|
| "}"));
|
| }
|
| +
|
| + public void testImplementsAndOverrides1() {
|
| + resolveAndTest(Joiner.on("\n").join(
|
| + "class Object {}",
|
| + "interface Interface {",
|
| + " foo(x);",
|
| + "}",
|
| + "class Class implements Interface {",
|
| + " foo() {}", // error
|
| + "}"),
|
| + ResolverErrorCode.CANNOT_OVERRIDE_METHOD_WRONG_NUM_PARAMS);
|
| + }
|
| +
|
| + public void testImplementsAndOverrides2() {
|
| + resolveAndTest(Joiner.on("\n").join(
|
| + "class Object {}",
|
| + "interface Interface {",
|
| + " foo([x]);",
|
| + "}",
|
| + "class Class implements Interface {",
|
| + " foo([x,y]) {}", // error
|
| + "}"),
|
| + ResolverErrorCode.CANNOT_OVERRIDE_METHOD_WRONG_NUM_PARAMS);
|
| + }
|
| +
|
| + public void testImplementsAndOverrides3() {
|
| + resolveAndTest(Joiner.on("\n").join(
|
| + "class Object {}",
|
| + "interface Interface {",
|
| + " foo(x, [y]);",
|
| + "}",
|
| + "class Class implements Interface {",
|
| + " foo([x,y]) {}", // error
|
| + "}"),
|
| + ResolverErrorCode.CANNOT_OVERRIDE_METHOD_NUM_NAMED_PARAMS);
|
| + }
|
| +
|
| + public void testImplementsAndOverrides4() {
|
| + resolveAndTest(Joiner.on("\n").join(
|
| + "class Object {}",
|
| + "interface Interface {",
|
| + " foo([x,y]);",
|
| + "}",
|
| + "class Class implements Interface {",
|
| + " foo([x]) {}", // error
|
| + "}"),
|
| + ResolverErrorCode.CANNOT_OVERRIDE_METHOD_WRONG_NUM_PARAMS);
|
| + }
|
| +
|
| + public void testImplementsAndOverrides5() {
|
| + resolveAndTest(Joiner.on("\n").join(
|
| + "class Object {}",
|
| + "interface Interface {",
|
| + " foo([y,x]);",
|
| + "}",
|
| + "class Class implements Interface {",
|
| + " foo([x,y]) {}", // error
|
| + "}"),
|
| + ResolverErrorCode.CANNOT_OVERRIDE_METHOD_ORDER_NAMED_PARAMS);
|
| + }
|
| }
|
|
|