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

Side by Side Diff: pkg/analyzer/test/src/summary/resynthesize_common.dart

Issue 2391783002: Further cleanups to annotation elements now that #25706 is fixed. (Closed)
Patch Set: Created 4 years, 2 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 unified diff | Download patch
« no previous file with comments | « pkg/analyzer/lib/src/summary/resynthesize.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 test.src.serialization.elements_test; 5 library test.src.serialization.elements_test;
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/constant/value.dart'; 8 import 'package:analyzer/dart/constant/value.dart';
9 import 'package:analyzer/dart/element/element.dart'; 9 import 'package:analyzer/dart/element/element.dart';
10 import 'package:analyzer/dart/element/type.dart'; 10 import 'package:analyzer/dart/element/type.dart';
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 expect(r.period, isNull, reason: desc); 535 expect(r.period, isNull, reason: desc);
536 expect(r.constructorName, isNull, reason: desc); 536 expect(r.constructorName, isNull, reason: desc);
537 } 537 }
538 } else { 538 } else {
539 compareConstAsts(r.name, o.name, desc); 539 compareConstAsts(r.name, o.name, desc);
540 expect(r.period?.lexeme, o.period?.lexeme, reason: desc); 540 expect(r.period?.lexeme, o.period?.lexeme, reason: desc);
541 compareConstAsts(r.constructorName, o.constructorName, desc); 541 compareConstAsts(r.constructorName, o.constructorName, desc);
542 } 542 }
543 compareConstAstLists( 543 compareConstAstLists(
544 r.arguments?.arguments, o.arguments?.arguments, desc); 544 r.arguments?.arguments, o.arguments?.arguments, desc);
545 Element expectedElement = o.element; 545 compareElements(r.element, o.element, desc);
546 if (oName is PrefixedIdentifier &&
547 o.constructorName != null &&
548 o.element != null) {
549 // Due to dartbug.com/25706, [o.element] incorrectly points to the
550 // class rather than the named constructor. Hack around this.
551 // TODO(paulberry): when dartbug.com/25706 is fixed, remove this.
552 expectedElement = (expectedElement as ClassElement)
553 .getNamedConstructor(o.constructorName.name);
554 expect(expectedElement, isNotNull, reason: desc);
555 }
556 compareElements(r.element, expectedElement, desc);
557 // elementAnnotation should be null; it is only used in the full AST. 546 // elementAnnotation should be null; it is only used in the full AST.
558 expect(o.elementAnnotation, isNull); 547 expect(o.elementAnnotation, isNull);
559 expect(r.elementAnnotation, isNull); 548 expect(r.elementAnnotation, isNull);
560 } else { 549 } else {
561 fail('Not implemented for ${r.runtimeType} vs. ${o.runtimeType}'); 550 fail('Not implemented for ${r.runtimeType} vs. ${o.runtimeType}');
562 } 551 }
563 } 552 }
564 } 553 }
565 554
566 void compareConstructorElements(ConstructorElement resynthesized, 555 void compareConstructorElements(ConstructorElement resynthesized,
(...skipping 3918 matching lines...) Expand 10 before | Expand all | Expand 10 after
4485 } 4474 }
4486 4475
4487 test_unresolved_annotation_prefixedNamedConstructorCall_badPrefix() { 4476 test_unresolved_annotation_prefixedNamedConstructorCall_badPrefix() {
4488 checkLibrary('@foo.bar.baz() class C {}'); 4477 checkLibrary('@foo.bar.baz() class C {}');
4489 } 4478 }
4490 4479
4491 test_unresolved_annotation_prefixedNamedConstructorCall_noClass() { 4480 test_unresolved_annotation_prefixedNamedConstructorCall_noClass() {
4492 checkLibrary('import "dart:async" as foo; @foo.bar.baz() class C {}'); 4481 checkLibrary('import "dart:async" as foo; @foo.bar.baz() class C {}');
4493 } 4482 }
4494 4483
4495 @failingTest // See dartbug.com/25706
4496 test_unresolved_annotation_prefixedNamedConstructorCall_noConstructor() { 4484 test_unresolved_annotation_prefixedNamedConstructorCall_noConstructor() {
4497 checkLibrary('import "dart:async" as foo; @foo.Future.bar() class C {}'); 4485 checkLibrary('import "dart:async" as foo; @foo.Future.bar() class C {}');
4498 } 4486 }
4499 4487
4500 test_unresolved_annotation_prefixedUnnamedConstructorCall_badPrefix() { 4488 test_unresolved_annotation_prefixedUnnamedConstructorCall_badPrefix() {
4501 checkLibrary('@foo.bar() class C {}'); 4489 checkLibrary('@foo.bar() class C {}');
4502 } 4490 }
4503 4491
4504 test_unresolved_annotation_prefixedUnnamedConstructorCall_noClass() { 4492 test_unresolved_annotation_prefixedUnnamedConstructorCall_noClass() {
4505 checkLibrary('import "dart:async" as foo; @foo.bar() class C {}'); 4493 checkLibrary('import "dart:async" as foo; @foo.bar() class C {}');
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
4677 fail('Unexpectedly tried to get unlinked summary for $uri'); 4665 fail('Unexpectedly tried to get unlinked summary for $uri');
4678 } 4666 }
4679 return serializedUnit; 4667 return serializedUnit;
4680 } 4668 }
4681 4669
4682 @override 4670 @override
4683 bool hasLibrarySummary(String uri) { 4671 bool hasLibrarySummary(String uri) {
4684 return true; 4672 return true;
4685 } 4673 }
4686 } 4674 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/resynthesize.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698