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

Side by Side Diff: pkg/analysis_server/lib/src/protocol_server.dart

Issue 774543002: Fix for NPE in navigation after some incremental changes. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years 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
« no previous file with comments | « pkg/analysis_server/lib/src/computer/computer_navigation.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) 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 protocol.server; 5 library protocol.server;
6 6
7 import 'package:analysis_server/src/protocol.dart'; 7 import 'package:analysis_server/src/protocol.dart';
8 import 'package:analysis_server/src/services/search/search_engine.dart' as 8 import 'package:analysis_server/src/services/search/search_engine.dart' as
9 engine; 9 engine;
10 import 'package:analyzer/src/generated/ast.dart' as engine; 10 import 'package:analyzer/src/generated/ast.dart' as engine;
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 engine.AnalysisContext context = unitElement.context; 223 engine.AnalysisContext context = unitElement.context;
224 engine.Source source = unitElement.source; 224 engine.Source source = unitElement.source;
225 return _locationForArgs(context, source, range); 225 return _locationForArgs(context, source, range);
226 } 226 }
227 227
228 228
229 NavigationTarget newNavigationTarget_fromElement(engine.Element element, 229 NavigationTarget newNavigationTarget_fromElement(engine.Element element,
230 int fileToIndex(String file)) { 230 int fileToIndex(String file)) {
231 ElementKind kind = newElementKind_fromEngine(element.kind); 231 ElementKind kind = newElementKind_fromEngine(element.kind);
232 Location location = newLocation_fromElement(element); 232 Location location = newLocation_fromElement(element);
233 // TODO(scheglov) Fix the enclosing element problem in the incremental
234 // resolver and remove this.
235 if (location == null) {
236 return null;
237 }
233 String file = location.file; 238 String file = location.file;
234 int fileIndex = fileToIndex(file); 239 int fileIndex = fileToIndex(file);
235 return new NavigationTarget( 240 return new NavigationTarget(
236 kind, 241 kind,
237 fileIndex, 242 fileIndex,
238 location.offset, 243 location.offset,
239 location.length, 244 location.length,
240 location.startLine, 245 location.startLine,
241 location.startColumn); 246 location.startColumn);
242 } 247 }
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 startColumn = offsetLocation.columnNumber; 421 startColumn = offsetLocation.columnNumber;
417 } 422 }
418 } 423 }
419 return new Location( 424 return new Location(
420 source.fullName, 425 source.fullName,
421 range.offset, 426 range.offset,
422 range.length, 427 range.length,
423 startLine, 428 startLine,
424 startColumn); 429 startColumn);
425 } 430 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/lib/src/computer/computer_navigation.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698