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

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

Issue 1398293002: Move the wire protocol support into the public API (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Add missed files Created 5 years, 2 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) 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.outline; 5 library computer.outline;
6 6
7 import 'package:analysis_server/plugin/protocol/protocol.dart';
7 import 'package:analysis_server/src/collections.dart'; 8 import 'package:analysis_server/src/collections.dart';
8 import 'package:analysis_server/src/protocol.dart';
9 import 'package:analyzer/src/generated/ast.dart'; 9 import 'package:analyzer/src/generated/ast.dart';
10 import 'package:analyzer/src/generated/element.dart' as engine; 10 import 'package:analyzer/src/generated/element.dart' as engine;
11 import 'package:analyzer/src/generated/source.dart'; 11 import 'package:analyzer/src/generated/source.dart';
12 12
13 /** 13 /**
14 * A computer for [CompilationUnit] outline. 14 * A computer for [CompilationUnit] outline.
15 */ 15 */
16 class DartUnitOutlineComputer { 16 class DartUnitOutlineComputer {
17 final String file; 17 final String file;
18 final CompilationUnit unit; 18 final CompilationUnit unit;
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 } 339 }
340 340
341 Outline _newUnitOutline(List<Outline> unitContents) { 341 Outline _newUnitOutline(List<Outline> unitContents) {
342 Element element = new Element( 342 Element element = new Element(
343 ElementKind.COMPILATION_UNIT, '<unit>', Element.makeFlags(), 343 ElementKind.COMPILATION_UNIT, '<unit>', Element.makeFlags(),
344 location: _getLocationNode(unit)); 344 location: _getLocationNode(unit));
345 return new Outline(element, unit.offset, unit.length, 345 return new Outline(element, unit.offset, unit.length,
346 children: nullIfEmpty(unitContents)); 346 children: nullIfEmpty(unitContents));
347 } 347 }
348 348
349 static String _getTypeParametersStr(TypeParameterList parameters) {
350 if (parameters == null) {
351 return null;
352 }
353 return parameters.toSource();
354 }
355
356 Outline _newVariableOutline(String typeName, ElementKind kind, 349 Outline _newVariableOutline(String typeName, ElementKind kind,
357 VariableDeclaration variable, bool isStatic) { 350 VariableDeclaration variable, bool isStatic) {
358 SimpleIdentifier nameNode = variable.name; 351 SimpleIdentifier nameNode = variable.name;
359 String name = nameNode.name; 352 String name = nameNode.name;
360 _SourceRegion sourceRegion = _getSourceRegion(variable); 353 _SourceRegion sourceRegion = _getSourceRegion(variable);
361 Element element = new Element( 354 Element element = new Element(
362 kind, 355 kind,
363 name, 356 name,
364 Element.makeFlags( 357 Element.makeFlags(
365 isPrivate: Identifier.isPrivateName(name), 358 isPrivate: Identifier.isPrivateName(name),
366 isDeprecated: _isDeprecated(variable), 359 isDeprecated: _isDeprecated(variable),
367 isStatic: isStatic, 360 isStatic: isStatic,
368 isConst: variable.isConst, 361 isConst: variable.isConst,
369 isFinal: variable.isFinal), 362 isFinal: variable.isFinal),
370 location: _getLocationNode(nameNode), 363 location: _getLocationNode(nameNode),
371 returnType: typeName); 364 returnType: typeName);
372 Outline outline = 365 Outline outline =
373 new Outline(element, sourceRegion.offset, sourceRegion.length); 366 new Outline(element, sourceRegion.offset, sourceRegion.length);
374 return outline; 367 return outline;
375 } 368 }
376 369
370 static String _getTypeParametersStr(TypeParameterList parameters) {
371 if (parameters == null) {
372 return null;
373 }
374 return parameters.toSource();
375 }
376
377 /** 377 /**
378 * Returns `true` if the given [element] is not `null` and deprecated. 378 * Returns `true` if the given [element] is not `null` and deprecated.
379 */ 379 */
380 static bool _isDeprecated(Declaration declaration) { 380 static bool _isDeprecated(Declaration declaration) {
381 engine.Element element = declaration.element; 381 engine.Element element = declaration.element;
382 return element != null && element.isDeprecated; 382 return element != null && element.isDeprecated;
383 } 383 }
384 } 384 }
385 385
386 /** 386 /**
(...skipping 12 matching lines...) Expand all
399 } 399 }
400 400
401 /** 401 /**
402 * A range of characters. 402 * A range of characters.
403 */ 403 */
404 class _SourceRegion { 404 class _SourceRegion {
405 final int length; 405 final int length;
406 final int offset; 406 final int offset;
407 _SourceRegion(this.offset, this.length); 407 _SourceRegion(this.offset, this.length);
408 } 408 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698