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

Side by Side Diff: pkg/analysis_server/lib/src/computer/computer_overrides.dart

Issue 389413002: Use HasToJson when set Reponse/Notification parameters. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 computer.overrides; 5 library computer.overrides;
6 6
7 import 'package:analysis_server/src/collections.dart';
7 import 'package:analysis_server/src/computer/element.dart'; 8 import 'package:analysis_server/src/computer/element.dart';
8 import 'package:analysis_server/src/constants.dart'; 9 import 'package:analysis_server/src/constants.dart';
9 import 'package:analyzer/src/generated/ast.dart'; 10 import 'package:analyzer/src/generated/ast.dart';
10 import 'package:analyzer/src/generated/element.dart' as engine; 11 import 'package:analyzer/src/generated/element.dart' as engine;
11 12
12 13
13 /** 14 /**
14 * A computer for class member overrides in a Dart [CompilationUnit]. 15 * A computer for class member overrides in a Dart [CompilationUnit].
15 */ 16 */
16 class DartUnitOverridesComputer { 17 class DartUnitOverridesComputer {
17 final CompilationUnit _unit; 18 final CompilationUnit _unit;
18 19
19 final List<Override> _overrides = <Override>[]; 20 final List<Override> _overrides = <Override>[];
20 engine.ClassElement _currentClass; 21 engine.ClassElement _currentClass;
21 22
22 DartUnitOverridesComputer(this._unit); 23 DartUnitOverridesComputer(this._unit);
23 24
24 /** 25 /**
25 * Returns the computed occurrences, not `null`. 26 * Returns the computed occurrences, not `null`.
26 */ 27 */
27 List<Map<String, Object>> compute() { 28 List<Override> compute() {
28 for (CompilationUnitMember unitMember in _unit.declarations) { 29 for (CompilationUnitMember unitMember in _unit.declarations) {
29 if (unitMember is ClassDeclaration) { 30 if (unitMember is ClassDeclaration) {
30 _currentClass = unitMember.element; 31 _currentClass = unitMember.element;
31 for (ClassMember classMember in unitMember.members) { 32 for (ClassMember classMember in unitMember.members) {
32 if (classMember is MethodDeclaration) { 33 if (classMember is MethodDeclaration) {
33 SimpleIdentifier nameNode = classMember.name; 34 SimpleIdentifier nameNode = classMember.name;
34 _addOverride(nameNode.offset, nameNode.length, nameNode.name); 35 _addOverride(nameNode.offset, nameNode.length, nameNode.name);
35 } 36 }
36 if (classMember is FieldDeclaration) { 37 if (classMember is FieldDeclaration) {
37 List<VariableDeclaration> fields = classMember.fields.variables; 38 List<VariableDeclaration> fields = classMember.fields.variables;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 member = classElement.lookUpSetter(name + '=', library); 98 member = classElement.lookUpSetter(name + '=', library);
98 if (member != null) { 99 if (member != null) {
99 return member; 100 return member;
100 } 101 }
101 // not found 102 // not found
102 return null; 103 return null;
103 } 104 }
104 } 105 }
105 106
106 107
107 class Override { 108 class Override implements HasToJson {
108 final int offset; 109 final int offset;
109 final int length; 110 final int length;
110 final Element superclassElement; 111 final Element superclassElement;
111 final List<Element> interfaceElements; 112 final List<Element> interfaceElements;
112 113
113 Override(this.offset, this.length, this.superclassElement, 114 Override(this.offset, this.length, this.superclassElement,
114 this.interfaceElements); 115 this.interfaceElements);
115 116
116 factory Override.fromJson(Map<String, Object> map) { 117 factory Override.fromJson(Map<String, Object> map) {
117 int offset = map[OFFSET]; 118 int offset = map[OFFSET];
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 json[INTERFACE_ELEMENTS] = interfaceElements.map((element) { 151 json[INTERFACE_ELEMENTS] = interfaceElements.map((element) {
151 return element.toJson(); 152 return element.toJson();
152 }).toList(); 153 }).toList();
153 } 154 }
154 return json; 155 return json;
155 } 156 }
156 157
157 @override 158 @override
158 String toString() => toJson().toString(); 159 String toString() => toJson().toString();
159 } 160 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/computer/computer_outline.dart ('k') | pkg/analysis_server/lib/src/domain_analysis.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698