| OLD | NEW |
| 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/protocol2.dart'; | 7 import 'package:analysis_server/src/protocol.dart'; |
| 8 import 'package:analyzer/src/generated/ast.dart'; | 8 import 'package:analyzer/src/generated/ast.dart'; |
| 9 import 'package:analyzer/src/generated/element.dart' as engine; | 9 import 'package:analyzer/src/generated/element.dart' as engine; |
| 10 | 10 |
| 11 | 11 |
| 12 /** | 12 /** |
| 13 * A computer for class member overrides in a Dart [CompilationUnit]. | 13 * A computer for class member overrides in a Dart [CompilationUnit]. |
| 14 */ | 14 */ |
| 15 class DartUnitOverridesComputer { | 15 class DartUnitOverridesComputer { |
| 16 final CompilationUnit _unit; | 16 final CompilationUnit _unit; |
| 17 | 17 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 35 if (classMember is FieldDeclaration) { | 35 if (classMember is FieldDeclaration) { |
| 36 List<VariableDeclaration> fields = classMember.fields.variables; | 36 List<VariableDeclaration> fields = classMember.fields.variables; |
| 37 for (VariableDeclaration field in fields) { | 37 for (VariableDeclaration field in fields) { |
| 38 SimpleIdentifier nameNode = field.name; | 38 SimpleIdentifier nameNode = field.name; |
| 39 _addOverride(nameNode.offset, nameNode.length, nameNode.name); | 39 _addOverride(nameNode.offset, nameNode.length, nameNode.name); |
| 40 } | 40 } |
| 41 } | 41 } |
| 42 } | 42 } |
| 43 } | 43 } |
| 44 } | 44 } |
| 45 return _overrides.map((override) => override.toJson()).toList(); | 45 return _overrides; |
| 46 } | 46 } |
| 47 | 47 |
| 48 void _addOverride(int offset, int length, String name) { | 48 void _addOverride(int offset, int length, String name) { |
| 49 // super | 49 // super |
| 50 engine.Element superEngineElement; | 50 engine.Element superEngineElement; |
| 51 { | 51 { |
| 52 engine.InterfaceType superType = _currentClass.supertype; | 52 engine.InterfaceType superType = _currentClass.supertype; |
| 53 if (superType != null) { | 53 if (superType != null) { |
| 54 superEngineElement = _lookupMember(superType.element, name); | 54 superEngineElement = _lookupMember(superType.element, name); |
| 55 } | 55 } |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 } | 95 } |
| 96 // setter | 96 // setter |
| 97 member = classElement.lookUpSetter(name + '=', library); | 97 member = classElement.lookUpSetter(name + '=', library); |
| 98 if (member != null) { | 98 if (member != null) { |
| 99 return member; | 99 return member; |
| 100 } | 100 } |
| 101 // not found | 101 // not found |
| 102 return null; | 102 return null; |
| 103 } | 103 } |
| 104 } | 104 } |
| OLD | NEW |