This commit is contained in:
Alexey Kudravtsev
2013-06-03 12:07:08 +04:00
parent 571528992e
commit 204b9361cd
4 changed files with 15 additions and 11 deletions
@@ -60,9 +60,10 @@ import java.util.regex.PatternSyntaxException;
public abstract class ImportClassFixBase<T extends PsiElement, R extends PsiReference> implements HintAction, HighPriorityAction {
@NotNull
private final T myElement;
@NotNull
private final R myRef;
protected ImportClassFixBase(@NotNull T elem, R ref) {
protected ImportClassFixBase(@NotNull T elem, @NotNull R ref) {
myElement = elem;
myRef = ref;
}
@@ -34,7 +34,7 @@ import java.util.List;
* @author peter
*/
public class GroovyAddImportAction extends ImportClassFixBase<GrReferenceElement, GrReferenceElement> {
public GroovyAddImportAction(GrReferenceElement ref) {
public GroovyAddImportAction(@NotNull GrReferenceElement ref) {
super(ref, ref);
}
@@ -29,7 +29,7 @@ import org.jetbrains.plugins.javaFX.fxml.JavaFxPsiUtil;
*/
abstract class JavaFxImportClassFix extends ImportClassFixBase<XmlTag, JavaFxTagNameReference> {
public JavaFxImportClassFix(JavaFxTagNameReference ref, XmlTag element) {
public JavaFxImportClassFix(@NotNull JavaFxTagNameReference ref, @NotNull XmlTag element) {
super(element, ref);
}
@@ -78,7 +78,7 @@ public class JavaFxTagNameReference extends TagNameReference{
return super.getVariants();
}
final XmlTag xmlTag = (XmlTag)element;
final List<XmlElementDescriptor>
variants = TagNameReference.<XmlElementDescriptor>getTagNameVariants(xmlTag, Arrays.asList(xmlTag.knownNamespaces()), new ArrayList<String>(), Function.ID);
final List<LookupElement> elements = new ArrayList<LookupElement>(variants.size());
@@ -95,12 +95,15 @@ public class JavaFxTagNameReference extends TagNameReference{
public static class JavaFxUnresolvedTagRefsProvider extends UnresolvedReferenceQuickFixProvider<JavaFxTagNameReference> {
@Override
public void registerFixes(JavaFxTagNameReference ref, QuickFixActionRegistrar registrar) {
registrar.register(new JavaFxImportClassFix(ref, ref.getTagElement()) {
@Override
protected XmlTag getTagElement(JavaFxTagNameReference ref) {
return ref.getTagElement();
}
});
XmlTag element = ref.getTagElement();
if (element != null) {
registrar.register(new JavaFxImportClassFix(ref, element) {
@Override
protected XmlTag getTagElement(JavaFxTagNameReference ref) {
return ref.getTagElement();
}
});
}
}
@NotNull
@@ -112,7 +115,7 @@ public class JavaFxTagNameReference extends TagNameReference{
private static class JavaFxTagInsertHandler extends XmlTagInsertHandler {
public static final JavaFxTagInsertHandler INSTANCE = new JavaFxTagInsertHandler();
@Override
public void handleInsert(InsertionContext context, LookupElement item) {
super.handleInsert(context, item);