| Index: pkg/analyzer/test/generated/resolver_test.dart
|
| diff --git a/pkg/analyzer/test/generated/resolver_test.dart b/pkg/analyzer/test/generated/resolver_test.dart
|
| index 943328c36fc1406232a6147569a669dbfe40f660..f01c9a291aa3e283de52314c5da70f2bf0f2c832 100644
|
| --- a/pkg/analyzer/test/generated/resolver_test.dart
|
| +++ b/pkg/analyzer/test/generated/resolver_test.dart
|
| @@ -6375,7 +6375,7 @@ class ElementResolverTest extends EngineTestCase {
|
| Scope outerScope = _visitor.nameScope_J2DAccessor as Scope;
|
| try {
|
| _visitor.enclosingClass_J2DAccessor = enclosingClass;
|
| - EnclosedScope innerScope = new ClassScope(outerScope, enclosingClass);
|
| + EnclosedScope innerScope = new ClassScope(new TypeParameterScope(outerScope, enclosingClass), enclosingClass);
|
| _visitor.nameScope_J2DAccessor = innerScope;
|
| node.accept(_resolver);
|
| } finally {
|
| @@ -27644,6 +27644,9 @@ class TypeResolverVisitorTest extends EngineTestCase {
|
|
|
| void test_visitClassDeclaration() {
|
| // class A extends B with C implements D {}
|
| + // class B {}
|
| + // class C {}
|
| + // class D {}
|
| ClassElement elementA = ElementFactory.classElement2("A", []);
|
| ClassElement elementB = ElementFactory.classElement2("B", []);
|
| ClassElement elementC = ElementFactory.classElement2("C", []);
|
| @@ -27664,6 +27667,22 @@ class TypeResolverVisitorTest extends EngineTestCase {
|
| _listener.assertNoErrors();
|
| }
|
|
|
| + void test_visitClassDeclaration_instanceMemberCollidesWithClass() {
|
| + // class A {}
|
| + // class B extends A {
|
| + // void A() {}
|
| + // }
|
| + ClassElementImpl elementA = ElementFactory.classElement2("A", []);
|
| + ClassElementImpl elementB = ElementFactory.classElement2("B", []);
|
| + elementB.methods = <MethodElement> [ElementFactory.methodElement("A", VoidTypeImpl.instance, [])];
|
| + ExtendsClause extendsClause = AstFactory.extendsClause(AstFactory.typeName(elementA, []));
|
| + ClassDeclaration declaration = AstFactory.classDeclaration(null, "B", null, extendsClause, null, null, []);
|
| + declaration.name.staticElement = elementB;
|
| + _resolveNode(declaration, [elementA, elementB]);
|
| + JUnitTestCase.assertSame(elementA.type, elementB.supertype);
|
| + _listener.assertNoErrors();
|
| + }
|
| +
|
| void test_visitClassTypeAlias() {
|
| // class A = B with C implements D;
|
| ClassElement elementA = ElementFactory.classElement2("A", []);
|
| @@ -27859,6 +27878,10 @@ class TypeResolverVisitorTest extends EngineTestCase {
|
| final __test = new TypeResolverVisitorTest();
|
| runJUnitTest(__test, __test.test_visitClassDeclaration);
|
| });
|
| + _ut.test('test_visitClassDeclaration_instanceMemberCollidesWithClass', () {
|
| + final __test = new TypeResolverVisitorTest();
|
| + runJUnitTest(__test, __test.test_visitClassDeclaration_instanceMemberCollidesWithClass);
|
| + });
|
| _ut.test('test_visitClassTypeAlias', () {
|
| final __test = new TypeResolverVisitorTest();
|
| runJUnitTest(__test, __test.test_visitClassTypeAlias);
|
|
|