| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library analyzer.test.generated.element_resolver_test; | 5 library analyzer.test.generated.element_resolver_test; |
| 6 | 6 |
| 7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
| 8 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; |
| 8 import 'package:analyzer/dart/ast/token.dart'; | 9 import 'package:analyzer/dart/ast/token.dart'; |
| 9 import 'package:analyzer/dart/element/element.dart'; | 10 import 'package:analyzer/dart/element/element.dart'; |
| 10 import 'package:analyzer/dart/element/type.dart'; | 11 import 'package:analyzer/dart/element/type.dart'; |
| 11 import 'package:analyzer/file_system/memory_file_system.dart'; | 12 import 'package:analyzer/file_system/memory_file_system.dart'; |
| 12 import 'package:analyzer/src/dart/element/element.dart'; | 13 import 'package:analyzer/src/dart/element/element.dart'; |
| 13 import 'package:analyzer/src/generated/element_resolver.dart'; | 14 import 'package:analyzer/src/generated/element_resolver.dart'; |
| 14 import 'package:analyzer/src/generated/engine.dart'; | 15 import 'package:analyzer/src/generated/engine.dart'; |
| 15 import 'package:analyzer/src/generated/resolver.dart'; | 16 import 'package:analyzer/src/generated/resolver.dart'; |
| 16 import 'package:analyzer/src/generated/source.dart'; | 17 import 'package:analyzer/src/generated/source.dart'; |
| 17 import 'package:analyzer/src/generated/testing/ast_test_factory.dart'; | 18 import 'package:analyzer/src/generated/testing/ast_test_factory.dart'; |
| (...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 PropertyAccessorElement getter = | 540 PropertyAccessorElement getter = |
| 540 ElementFactory.getterElement(propName, false, _typeProvider.intType); | 541 ElementFactory.getterElement(propName, false, _typeProvider.intType); |
| 541 PropertyAccessorElement setter = | 542 PropertyAccessorElement setter = |
| 542 ElementFactory.setterElement(propName, false, _typeProvider.intType); | 543 ElementFactory.setterElement(propName, false, _typeProvider.intType); |
| 543 classA.accessors = <PropertyAccessorElement>[getter, setter]; | 544 classA.accessors = <PropertyAccessorElement>[getter, setter]; |
| 544 // set name scope | 545 // set name scope |
| 545 _visitor.nameScope = new EnclosedScope(null) | 546 _visitor.nameScope = new EnclosedScope(null) |
| 546 ..defineNameWithoutChecking('A', classA); | 547 ..defineNameWithoutChecking('A', classA); |
| 547 // prepare "A.p" | 548 // prepare "A.p" |
| 548 PrefixedIdentifier prefixed = AstTestFactory.identifier5('A', 'p'); | 549 PrefixedIdentifier prefixed = AstTestFactory.identifier5('A', 'p'); |
| 549 CommentReference commentReference = new CommentReference(null, prefixed); | 550 CommentReference commentReference = |
| 551 astFactory.commentReference(null, prefixed); |
| 550 // resolve | 552 // resolve |
| 551 _resolveNode(commentReference); | 553 _resolveNode(commentReference); |
| 552 expect(prefixed.prefix.staticElement, classA); | 554 expect(prefixed.prefix.staticElement, classA); |
| 553 expect(prefixed.identifier.staticElement, getter); | 555 expect(prefixed.identifier.staticElement, getter); |
| 554 _listener.assertNoErrors(); | 556 _listener.assertNoErrors(); |
| 555 } | 557 } |
| 556 | 558 |
| 557 void test_visitCommentReference_prefixedIdentifier_class_method() { | 559 void test_visitCommentReference_prefixedIdentifier_class_method() { |
| 558 ClassElementImpl classA = ElementFactory.classElement2("A"); | 560 ClassElementImpl classA = ElementFactory.classElement2("A"); |
| 559 // set method | 561 // set method |
| 560 MethodElement method = | 562 MethodElement method = |
| 561 ElementFactory.methodElement("m", _typeProvider.intType); | 563 ElementFactory.methodElement("m", _typeProvider.intType); |
| 562 classA.methods = <MethodElement>[method]; | 564 classA.methods = <MethodElement>[method]; |
| 563 // set name scope | 565 // set name scope |
| 564 _visitor.nameScope = new EnclosedScope(null) | 566 _visitor.nameScope = new EnclosedScope(null) |
| 565 ..defineNameWithoutChecking('A', classA); | 567 ..defineNameWithoutChecking('A', classA); |
| 566 // prepare "A.m" | 568 // prepare "A.m" |
| 567 PrefixedIdentifier prefixed = AstTestFactory.identifier5('A', 'm'); | 569 PrefixedIdentifier prefixed = AstTestFactory.identifier5('A', 'm'); |
| 568 CommentReference commentReference = new CommentReference(null, prefixed); | 570 CommentReference commentReference = |
| 571 astFactory.commentReference(null, prefixed); |
| 569 // resolve | 572 // resolve |
| 570 _resolveNode(commentReference); | 573 _resolveNode(commentReference); |
| 571 expect(prefixed.prefix.staticElement, classA); | 574 expect(prefixed.prefix.staticElement, classA); |
| 572 expect(prefixed.identifier.staticElement, method); | 575 expect(prefixed.identifier.staticElement, method); |
| 573 _listener.assertNoErrors(); | 576 _listener.assertNoErrors(); |
| 574 } | 577 } |
| 575 | 578 |
| 576 void test_visitCommentReference_prefixedIdentifier_class_operator() { | 579 void test_visitCommentReference_prefixedIdentifier_class_operator() { |
| 577 ClassElementImpl classA = ElementFactory.classElement2("A"); | 580 ClassElementImpl classA = ElementFactory.classElement2("A"); |
| 578 // set method | 581 // set method |
| 579 MethodElement method = | 582 MethodElement method = |
| 580 ElementFactory.methodElement("==", _typeProvider.boolType); | 583 ElementFactory.methodElement("==", _typeProvider.boolType); |
| 581 classA.methods = <MethodElement>[method]; | 584 classA.methods = <MethodElement>[method]; |
| 582 // set name scope | 585 // set name scope |
| 583 _visitor.nameScope = new EnclosedScope(null) | 586 _visitor.nameScope = new EnclosedScope(null) |
| 584 ..defineNameWithoutChecking('A', classA); | 587 ..defineNameWithoutChecking('A', classA); |
| 585 // prepare "A.==" | 588 // prepare "A.==" |
| 586 PrefixedIdentifier prefixed = AstTestFactory.identifier5('A', '=='); | 589 PrefixedIdentifier prefixed = AstTestFactory.identifier5('A', '=='); |
| 587 CommentReference commentReference = new CommentReference(null, prefixed); | 590 CommentReference commentReference = |
| 591 astFactory.commentReference(null, prefixed); |
| 588 // resolve | 592 // resolve |
| 589 _resolveNode(commentReference); | 593 _resolveNode(commentReference); |
| 590 expect(prefixed.prefix.staticElement, classA); | 594 expect(prefixed.prefix.staticElement, classA); |
| 591 expect(prefixed.identifier.staticElement, method); | 595 expect(prefixed.identifier.staticElement, method); |
| 592 _listener.assertNoErrors(); | 596 _listener.assertNoErrors(); |
| 593 } | 597 } |
| 594 | 598 |
| 595 void test_visitConstructorName_named() { | 599 void test_visitConstructorName_named() { |
| 596 ClassElementImpl classA = ElementFactory.classElement2("A"); | 600 ClassElementImpl classA = ElementFactory.classElement2("A"); |
| 597 String constructorName = "a"; | 601 String constructorName = "a"; |
| (...skipping 688 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1286 innerScope = new LabelScope( | 1290 innerScope = new LabelScope( |
| 1287 outerScope, labelElement.name, labelTarget, labelElement); | 1291 outerScope, labelElement.name, labelTarget, labelElement); |
| 1288 } | 1292 } |
| 1289 _visitor.labelScope = innerScope; | 1293 _visitor.labelScope = innerScope; |
| 1290 statement.accept(_resolver); | 1294 statement.accept(_resolver); |
| 1291 } finally { | 1295 } finally { |
| 1292 _visitor.labelScope = outerScope; | 1296 _visitor.labelScope = outerScope; |
| 1293 } | 1297 } |
| 1294 } | 1298 } |
| 1295 } | 1299 } |
| OLD | NEW |