Lines 87-95
Link Here
|
87 |
import com.sun.source.tree.NewArrayTree; |
87 |
import com.sun.source.tree.NewArrayTree; |
88 |
import com.sun.source.tree.Tree; |
88 |
import com.sun.source.tree.Tree; |
89 |
import com.sun.source.tree.Tree.Kind; |
89 |
import com.sun.source.tree.Tree.Kind; |
|
|
90 |
import com.sun.source.tree.VariableTree; |
90 |
import com.sun.source.util.SourcePositions; |
91 |
import com.sun.source.util.SourcePositions; |
91 |
import com.sun.source.util.TreePath; |
92 |
import com.sun.source.util.TreePath; |
92 |
import org.netbeans.api.actions.Savable; |
93 |
import org.netbeans.api.actions.Savable; |
|
|
94 |
import org.netbeans.api.java.source.TreeUtilities; |
93 |
|
95 |
|
94 |
public class UseNbBundleMessages extends AbstractHint { |
96 |
public class UseNbBundleMessages extends AbstractHint { |
95 |
|
97 |
|
Lines 264-274
Link Here
|
264 |
if (!isAlreadyRegistered) { |
266 |
if (!isAlreadyRegistered) { |
265 |
Tree enclosing = findEnclosingElement(wc, treePath); |
267 |
Tree enclosing = findEnclosingElement(wc, treePath); |
266 |
Tree modifiers; |
268 |
Tree modifiers; |
267 |
if (enclosing.getKind() == Kind.METHOD) { |
269 |
switch (enclosing.getKind()) { |
|
|
270 |
case METHOD: |
268 |
modifiers = ((MethodTree) enclosing).getModifiers(); |
271 |
modifiers = ((MethodTree) enclosing).getModifiers(); |
269 |
} else if (enclosing.getKind() == Kind.COMPILATION_UNIT) { |
272 |
break; |
|
|
273 |
case VARIABLE: |
274 |
modifiers = ((VariableTree) enclosing).getModifiers(); |
275 |
break; |
276 |
case COMPILATION_UNIT: |
270 |
modifiers = enclosing; |
277 |
modifiers = enclosing; |
271 |
} else { |
278 |
break; |
|
|
279 |
default: |
272 |
modifiers = ((ClassTree) enclosing).getModifiers(); |
280 |
modifiers = ((ClassTree) enclosing).getModifiers(); |
273 |
} |
281 |
} |
274 |
List<ExpressionTree> lines = new ArrayList<ExpressionTree>(); |
282 |
List<ExpressionTree> lines = new ArrayList<ExpressionTree>(); |
Lines 354-362
Link Here
|
354 |
case INTERFACE: |
362 |
case INTERFACE: |
355 |
case ANNOTATION_TYPE: |
363 |
case ANNOTATION_TYPE: |
356 |
case METHOD: // (or constructor) |
364 |
case METHOD: // (or constructor) |
|
|
365 |
case VARIABLE: |
357 |
Element e = wc.getTrees().getElement(treePath); |
366 |
Element e = wc.getTrees().getElement(treePath); |
358 |
if (e != null) { |
367 |
if (e != null) { |
359 |
TypeElement type = kind == Kind.METHOD ? wc.getElementUtilities().enclosingTypeElement(e) : (TypeElement) e; |
368 |
TypeElement type = TreeUtilities.CLASS_TREE_KINDS.contains(kind) ? (TypeElement) e : wc.getElementUtilities().enclosingTypeElement(e); |
360 |
if (type == null || !wc.getElementUtilities().isLocal(type)) { |
369 |
if (type == null || !wc.getElementUtilities().isLocal(type)) { |
361 |
return leaf; |
370 |
return leaf; |
362 |
} // else part of an inner class |
371 |
} // else part of an inner class |
Lines 420-425
Link Here
|
420 |
case METHOD: |
429 |
case METHOD: |
421 |
modifiers = ((MethodTree) tree).getModifiers(); |
430 |
modifiers = ((MethodTree) tree).getModifiers(); |
422 |
break; |
431 |
break; |
|
|
432 |
case VARIABLE: |
433 |
modifiers = ((VariableTree) tree).getModifiers(); |
434 |
break; |
423 |
case CLASS: |
435 |
case CLASS: |
424 |
case ENUM: |
436 |
case ENUM: |
425 |
case INTERFACE: |
437 |
case INTERFACE: |