| 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 services.src.correction.util; | 5 library services.src.correction.util; |
| 6 | 6 |
| 7 import 'package:analysis_server/src/services/correction/change.dart'; | 7 import 'package:analysis_server/src/services/correction/change.dart'; |
| 8 import 'package:analysis_server/src/services/correction/source_range.dart'; | 8 import 'package:analysis_server/src/services/correction/source_range.dart'; |
| 9 import 'package:analysis_server/src/services/correction/strings.dart'; | 9 import 'package:analysis_server/src/services/correction/strings.dart'; |
| 10 import 'package:analyzer/src/generated/ast.dart'; | 10 import 'package:analyzer/src/generated/ast.dart'; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 } | 90 } |
| 91 if (node is MethodDeclaration) { | 91 if (node is MethodDeclaration) { |
| 92 return node.element; | 92 return node.element; |
| 93 } | 93 } |
| 94 node = node.parent; | 94 node = node.parent; |
| 95 } | 95 } |
| 96 return null; | 96 return null; |
| 97 } | 97 } |
| 98 | 98 |
| 99 /** | 99 /** |
| 100 * Returns a namespace of the given [ExportElement]. | |
| 101 */ | |
| 102 Map<String, Element> getExportNamespaceForDirective(ExportElement exp) { | |
| 103 Namespace namespace = | |
| 104 new NamespaceBuilder().createExportNamespaceForDirective(exp); | |
| 105 return namespace.definedNames; | |
| 106 } | |
| 107 | |
| 108 | |
| 109 /** | |
| 110 * Returns a export namespace of the given [LibraryElement]. | |
| 111 */ | |
| 112 Map<String, Element> getExportNamespaceForLibrary(LibraryElement library) { | |
| 113 Namespace namespace = | |
| 114 new NamespaceBuilder().createExportNamespaceForLibrary(library); | |
| 115 return namespace.definedNames; | |
| 116 } | |
| 117 | |
| 118 /** | |
| 119 * Returns an [Element] exported from the given [LibraryElement]. | |
| 120 */ | |
| 121 Element getExportedElement(LibraryElement library, String name) { | |
| 122 if (library == null) { | |
| 123 return null; | |
| 124 } | |
| 125 return getExportNamespaceForLibrary(library)[name]; | |
| 126 } | |
| 127 | |
| 128 /** | |
| 129 * Returns [getExpressionPrecedence] for the parent of [node], | 100 * Returns [getExpressionPrecedence] for the parent of [node], |
| 130 * or `0` if the parent node is [ParenthesizedExpression]. | 101 * or `0` if the parent node is [ParenthesizedExpression]. |
| 131 * | 102 * |
| 132 * The reason is that `(expr)` is always executed after `expr`. | 103 * The reason is that `(expr)` is always executed after `expr`. |
| 133 */ | 104 */ |
| 134 int getExpressionParentPrecedence(AstNode node) { | 105 int getExpressionParentPrecedence(AstNode node) { |
| 135 AstNode parent = node.parent; | 106 AstNode parent = node.parent; |
| 136 if (parent is ParenthesizedExpression) { | 107 if (parent is ParenthesizedExpression) { |
| 137 return 0; | 108 return 0; |
| 138 } | 109 } |
| (...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 914 int newOperatorPrecedence) { | 885 int newOperatorPrecedence) { |
| 915 if (expr._precedence < newOperatorPrecedence) { | 886 if (expr._precedence < newOperatorPrecedence) { |
| 916 return "(${expr._source})"; | 887 return "(${expr._source})"; |
| 917 } | 888 } |
| 918 return expr._source; | 889 return expr._source; |
| 919 } | 890 } |
| 920 | 891 |
| 921 static _InvertedCondition _simple(String source) => | 892 static _InvertedCondition _simple(String source) => |
| 922 new _InvertedCondition(2147483647, source); | 893 new _InvertedCondition(2147483647, source); |
| 923 } | 894 } |
| OLD | NEW |