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

Side by Side Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/actions/NewSelectionConverter.java

Issue 84663003: Issue 4497. Show the best known type in the text hover. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, the Dart project authors. 2 * Copyright (c) 2013, the Dart project authors.
3 * 3 *
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except
5 * in compliance with the License. You may obtain a copy of the License at 5 * in compliance with the License. You may obtain a copy of the License at
6 * 6 *
7 * http://www.eclipse.org/legal/epl-v10.html 7 * http://www.eclipse.org/legal/epl-v10.html
8 * 8 *
9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License 9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 } 51 }
52 52
53 /** 53 /**
54 * Get the element associated with the selected portion of the given input ele ment. 54 * Get the element associated with the selected portion of the given input ele ment.
55 * 55 *
56 * @param editor the editor 56 * @param editor the editor
57 * @param caret the caret position in the editor 57 * @param caret the caret position in the editor
58 * @return the associated element 58 * @return the associated element
59 */ 59 */
60 public static Element getElementAtOffset(DartEditor editor, int caret) { 60 public static Element getElementAtOffset(DartEditor editor, int caret) {
61 61 ASTNode node = getNodeAtOffset(editor, caret);
62 CompilationUnit cu = editor.getInputUnit();
63 if (cu == null) {
64 return null;
65 }
66
67 ASTNode node = new NodeLocator(caret).searchWithin(cu);
68 if (node == null) { 62 if (node == null) {
69 return null; 63 return null;
70 } 64 }
71 65
72 return ElementLocator.locate(node); 66 return ElementLocator.locate(node);
73 } 67 }
74 68
75 /** 69 /**
76 * Get the element associated with the selected portion of the given input ele ment. 70 * Get the element associated with the selected portion of the given input ele ment.
77 * 71 *
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 } 159 }
166 return null; 160 return null;
167 } 161 }
168 162
169 private boolean isNodeEnclosingOffset(ASTNode node) { 163 private boolean isNodeEnclosingOffset(ASTNode node) {
170 return node.getOffset() <= offset && offset <= node.getEnd(); 164 return node.getOffset() <= offset && offset <= node.getEnd();
171 } 165 }
172 }); 166 });
173 return result[0]; 167 return result[0];
174 } 168 }
169
170 /**
171 * Get the {@link ASTNode} associated with the selected portion of the given e ditor.
172 *
173 * @param editor the editor
174 * @param caret the caret position in the editor
175 * @return the associated {@link ASTNode}
176 */
177 public static ASTNode getNodeAtOffset(DartEditor editor, int caret) {
178 CompilationUnit cu = editor.getInputUnit();
179 if (cu == null) {
180 return null;
181 }
182 return new NodeLocator(caret).searchWithin(cu);
183 }
175 } 184 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698