| 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 search.search_result; | 5 library search.search_result; |
| 6 | 6 |
| 7 import 'package:analysis_server/src/protocol2.dart'; | 7 import 'package:analysis_server/src/protocol2.dart'; |
| 8 import 'package:analysis_server/src/services/search/search_engine.dart'; | 8 import 'package:analysis_server/src/services/search/search_engine.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 SearchResult searchResultFromMatch(SearchMatch match) { | 12 SearchResult searchResultFromMatch(SearchMatch match) { |
| 13 SearchResultKind kind = new SearchResultKind.fromEngine(match.kind); | 13 SearchResultKind kind = new SearchResultKind.fromEngine(match.kind); |
| 14 Location location = | 14 Location location = |
| 15 new Location.fromOffset( | 15 new Location.fromOffset( |
| 16 match.element, | 16 match.element, |
| 17 match.sourceRange.offset, | 17 match.sourceRange.offset, |
| 18 match.sourceRange.length); | 18 match.sourceRange.length); |
| 19 List<Element> path = _computePath(match.element); | 19 List<Element> path = _computePath(match.element); |
| 20 return new SearchResult(location, kind, !match.isResolved, path); | 20 return new SearchResult(location, kind, !match.isResolved, path: path); |
| 21 } | 21 } |
| 22 | 22 |
| 23 List<Element> _computePath(engine.Element element) { | 23 List<Element> _computePath(engine.Element element) { |
| 24 List<Element> path = <Element>[]; | 24 List<Element> path = <Element>[]; |
| 25 while (element != null) { | 25 while (element != null) { |
| 26 path.add(new Element.fromEngine(element)); | 26 path.add(new Element.fromEngine(element)); |
| 27 element = element.enclosingElement; | 27 element = element.enclosingElement; |
| 28 } | 28 } |
| 29 return path; | 29 return path; |
| 30 } | 30 } |
| OLD | NEW |