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

Unified Diff: editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/builder/ElementBuilderTest.java

Issue 15500002: Checkpoint for more inheritance error codes 'Missing inherited member' warnings. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase with bleeding_edge Created 7 years, 7 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: editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/builder/ElementBuilderTest.java
diff --git a/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/builder/ElementBuilderTest.java b/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/builder/ElementBuilderTest.java
index d2d391120ddc56da1439d2b151f6affe048cac95..141483f8e974cc88d901f0432817a7bed3b761d9 100644
--- a/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/builder/ElementBuilderTest.java
+++ b/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/builder/ElementBuilderTest.java
@@ -545,6 +545,74 @@ public class ElementBuilderTest extends EngineTestCase {
assertNull(field.getSetter());
PropertyAccessorElement getter = field.getGetter();
assertNotNull(getter);
+ assertFalse(getter.isAbstract());
+ assertTrue(getter.isGetter());
+ assertFalse(getter.isSynthetic());
+ assertEquals(methodName, getter.getName());
+ assertEquals(field, getter.getVariable());
+ assertLength(0, getter.getFunctions());
+ assertLength(0, getter.getLabels());
+ assertLength(0, getter.getLocalVariables());
+ assertLength(0, getter.getParameters());
+ }
+
+ public void test_visitMethodDeclaration_getter_abstract() {
+ ElementHolder holder = new ElementHolder();
+ ElementBuilder builder = new ElementBuilder(holder);
+ String methodName = "m";
+ MethodDeclaration methodDeclaration = methodDeclaration(
+ null,
+ null,
+ Keyword.GET,
+ null,
+ identifier(methodName),
+ formalParameterList(),
+ emptyFunctionBody());
+ methodDeclaration.accept(builder);
+ FieldElement[] fields = holder.getFields();
+ assertLength(1, fields);
+
+ FieldElement field = fields[0];
+ assertNotNull(field);
+ assertEquals(methodName, field.getName());
+ assertTrue(field.isSynthetic());
+ assertNull(field.getSetter());
+ PropertyAccessorElement getter = field.getGetter();
+ assertNotNull(getter);
+ assertTrue(getter.isAbstract());
+ assertTrue(getter.isGetter());
+ assertFalse(getter.isSynthetic());
+ assertEquals(methodName, getter.getName());
+ assertEquals(field, getter.getVariable());
+ assertLength(0, getter.getFunctions());
+ assertLength(0, getter.getLabels());
+ assertLength(0, getter.getLocalVariables());
+ assertLength(0, getter.getParameters());
+ }
+
+ public void test_visitMethodDeclaration_getter_external() {
+ ElementHolder holder = new ElementHolder();
+ ElementBuilder builder = new ElementBuilder(holder);
+ String methodName = "m";
+ MethodDeclaration methodDeclaration = methodDeclaration(
+ null,
+ null,
+ Keyword.GET,
+ null,
+ identifier(methodName),
+ formalParameterList());
+ methodDeclaration.accept(builder);
+ FieldElement[] fields = holder.getFields();
+ assertLength(1, fields);
+
+ FieldElement field = fields[0];
+ assertNotNull(field);
+ assertEquals(methodName, field.getName());
+ assertTrue(field.isSynthetic());
+ assertNull(field.getSetter());
+ PropertyAccessorElement getter = field.getGetter();
+ assertNotNull(getter);
+ assertFalse(getter.isAbstract());
assertTrue(getter.isGetter());
assertFalse(getter.isSynthetic());
assertEquals(methodName, getter.getName());
@@ -634,6 +702,76 @@ public class ElementBuilderTest extends EngineTestCase {
assertNull(field.getGetter());
PropertyAccessorElement setter = field.getSetter();
assertNotNull(setter);
+ assertFalse(setter.isAbstract());
+ assertTrue(setter.isSetter());
+ assertFalse(setter.isSynthetic());
+ assertEquals(methodName + '=', setter.getName());
+ assertEquals(methodName, setter.getDisplayName());
+ assertEquals(field, setter.getVariable());
+ assertLength(0, setter.getFunctions());
+ assertLength(0, setter.getLabels());
+ assertLength(0, setter.getLocalVariables());
+ assertLength(0, setter.getParameters());
+ }
+
+ public void test_visitMethodDeclaration_setter_abstract() {
+ ElementHolder holder = new ElementHolder();
+ ElementBuilder builder = new ElementBuilder(holder);
+ String methodName = "m";
+ MethodDeclaration methodDeclaration = methodDeclaration(
+ null,
+ null,
+ Keyword.SET,
+ null,
+ identifier(methodName),
+ formalParameterList(),
+ emptyFunctionBody());
+ methodDeclaration.accept(builder);
+ FieldElement[] fields = holder.getFields();
+ assertLength(1, fields);
+
+ FieldElement field = fields[0];
+ assertNotNull(field);
+ assertEquals(methodName, field.getName());
+ assertTrue(field.isSynthetic());
+ assertNull(field.getGetter());
+ PropertyAccessorElement setter = field.getSetter();
+ assertNotNull(setter);
+ assertTrue(setter.isAbstract());
+ assertTrue(setter.isSetter());
+ assertFalse(setter.isSynthetic());
+ assertEquals(methodName + '=', setter.getName());
+ assertEquals(methodName, setter.getDisplayName());
+ assertEquals(field, setter.getVariable());
+ assertLength(0, setter.getFunctions());
+ assertLength(0, setter.getLabels());
+ assertLength(0, setter.getLocalVariables());
+ assertLength(0, setter.getParameters());
+ }
+
+ public void test_visitMethodDeclaration_setter_external() {
+ ElementHolder holder = new ElementHolder();
+ ElementBuilder builder = new ElementBuilder(holder);
+ String methodName = "m";
+ MethodDeclaration methodDeclaration = methodDeclaration(
+ null,
+ null,
+ Keyword.SET,
+ null,
+ identifier(methodName),
+ formalParameterList());
+ methodDeclaration.accept(builder);
+ FieldElement[] fields = holder.getFields();
+ assertLength(1, fields);
+
+ FieldElement field = fields[0];
+ assertNotNull(field);
+ assertEquals(methodName, field.getName());
+ assertTrue(field.isSynthetic());
+ assertNull(field.getGetter());
+ PropertyAccessorElement setter = field.getSetter();
+ assertNotNull(setter);
+ assertFalse(setter.isAbstract());
assertTrue(setter.isSetter());
assertFalse(setter.isSynthetic());
assertEquals(methodName + '=', setter.getName());

Powered by Google App Engine
This is Rietveld 408576698