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

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

Issue 2987883003: Resynthesize top-level accessors and variables from Kernel. (Closed)
Patch Set: Created 3 years, 4 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
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 import 'dart:io'; 5 import 'dart:io';
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/ast/token.dart'; 8 import 'package:analyzer/dart/ast/token.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 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 674
675 void writePropertyAccessorElement(PropertyAccessorElement e) { 675 void writePropertyAccessorElement(PropertyAccessorElement e) {
676 if (e.isSynthetic && !withSyntheticAccessors) { 676 if (e.isSynthetic && !withSyntheticAccessors) {
677 return; 677 return;
678 } 678 }
679 679
680 if (!e.isSynthetic) { 680 if (!e.isSynthetic) {
681 PropertyInducingElement variable = e.variable; 681 PropertyInducingElement variable = e.variable;
682 expect(variable, isNotNull); 682 expect(variable, isNotNull);
683 expect(variable.isSynthetic, isTrue); 683 expect(variable.isSynthetic, isTrue);
684
685 var variableEnclosing = variable.enclosingElement;
686 if (variableEnclosing is CompilationUnitElement) {
687 expect(variableEnclosing.topLevelVariables, contains(variable));
688 } else if (variableEnclosing is ClassElement) {
689 expect(variableEnclosing.fields, contains(variable));
690 }
691
684 if (e.isGetter) { 692 if (e.isGetter) {
685 expect(variable.getter, same(e)); 693 expect(variable.getter, same(e));
686 if (variable.setter != null) { 694 if (variable.setter != null) {
687 expect(variable.setter.variable, same(variable)); 695 expect(variable.setter.variable, same(variable));
688 } 696 }
689 } else { 697 } else {
690 expect(variable.setter, same(e)); 698 expect(variable.setter, same(e));
691 if (variable.getter != null) { 699 if (variable.getter != null) {
692 expect(variable.getter.variable, same(variable)); 700 expect(variable.getter.variable, same(variable));
693 } 701 }
(...skipping 29 matching lines...) Expand all
723 if (e.isSetter || e.parameters.isNotEmpty) { 731 if (e.isSetter || e.parameters.isNotEmpty) {
724 writeParameterElements(e.parameters); 732 writeParameterElements(e.parameters);
725 } 733 }
726 734
727 expect(e.typeParameters, isEmpty); 735 expect(e.typeParameters, isEmpty);
728 736
729 expect(e.isSynchronous, isTrue); 737 expect(e.isSynchronous, isTrue);
730 expect(e.isAsynchronous, isFalse); 738 expect(e.isAsynchronous, isFalse);
731 expect(e.isGenerator, isFalse); 739 expect(e.isGenerator, isFalse);
732 740
733 if (e.isAbstract) { 741 if (e.isAbstract || e.isExternal) {
734 buffer.writeln(';'); 742 buffer.writeln(';');
735 } else { 743 } else {
736 buffer.writeln(' {}'); 744 buffer.writeln(' {}');
737 } 745 }
738 } 746 }
739 747
740 void writePropertyInducingElement(PropertyInducingElement e) { 748 void writePropertyInducingElement(PropertyInducingElement e) {
741 if (e.isSynthetic && !withSyntheticFields && !isEnumField(e)) { 749 if (e.isSynthetic && !withSyntheticFields && !isEnumField(e)) {
742 return; 750 return;
743 } 751 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 return components.join(';'); 897 return components.join(';');
890 } 898 }
891 } 899 }
892 900
893 class _Replacement { 901 class _Replacement {
894 final int offset; 902 final int offset;
895 final int end; 903 final int end;
896 final String text; 904 final String text;
897 _Replacement(this.offset, this.end, this.text); 905 _Replacement(this.offset, this.end, this.text);
898 } 906 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698