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

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

Issue 10548002: Fix for issue 2351 - checking assignability on top level getters and setters (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Attempting to reapply patch with setElement() calls. 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/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 ffbe298cc8e9a153786c09b70af6e05f30363228..877f76ba2d48f05f8bc65c3ba06383ae617a1e9e 100644
--- a/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java
+++ b/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java
@@ -1465,19 +1465,62 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase {
assertErrors(result.getErrors());
}
+
+ public void test_setterGetterAssignable1() throws Exception {
+ AnalyzeLibraryResult result =
+ analyzeLibrary(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "class A {} ",
+ "A topGetterField; ",
+ "var topSetterField; ",
+ "A get topField() { return topGetterField; }",
+ "void set topField(arg) { topSetterField = arg; }",
+ "class C {",
+ " A getterField; ",
+ " var setterField; ",
+ " A get field() { return getterField; }",
+ " void set field(arg) { setterField = arg; }",
+ "}");
+ assertErrors(result.getErrors());
+ }
+
+ public void test_setterGetterAssignable2() throws Exception {
+ AnalyzeLibraryResult result =
+ analyzeLibrary(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "class A {} ",
+ "var topGetterField; ",
+ "A topSetterField; ",
+ "get topField() { return topGetterField; }",
+ "void set topField(A arg) { topSetterField = arg; }",
+ "class C {",
+ " var getterField; ",
+ " A setterField; ",
+ " get field() { return getterField; }",
+ " void set field(A arg) { setterField = arg; }",
+ "}");
+ assertErrors(result.getErrors());
+ }
+
public void test_setterGetterNotAssignable() throws Exception {
AnalyzeLibraryResult result =
analyzeLibrary(
"// filler filler filler filler filler filler filler filler filler filler",
"class A {} ",
"class B {}",
+ "A topGetterField; ",
+ "B topSetterField; ",
+ "A get topField() { return topGetterField; }",
+ "void set topField(B arg) { topSetterField = arg; }",
"class C {",
" A getterField; ",
" B setterField; ",
" A get field() { return getterField; }",
" void set field(B arg) { setterField = arg; }",
"}");
- assertErrors(result.getErrors(), errEx(TypeErrorCode.SETTER_TYPE_MUST_BE_ASSIGNABLE, 8, 18, 5));
+ assertErrors(result.getErrors(),
+ errEx(TypeErrorCode.SETTER_TYPE_MUST_BE_ASSIGNABLE, 7, 19, 5),
+ errEx(TypeErrorCode.SETTER_TYPE_MUST_BE_ASSIGNABLE, 12, 18, 5));
}
/**
« no previous file with comments | « compiler/javatests/com/google/dart/compiler/resolver/ResolverCompilerTest.java ('k') | tests/language/language.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698