Remove @annotation from stdlib and compiler
This commit is contained in:
@@ -26,11 +26,11 @@ import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||
import org.jetbrains.kotlin.diagnostics.Diagnostic;
|
||||
import org.jetbrains.kotlin.idea.JetBundle;
|
||||
import org.jetbrains.kotlin.idea.core.quickfix.QuickFixUtil;
|
||||
import org.jetbrains.kotlin.idea.references.ReferenceUtilKt;
|
||||
import org.jetbrains.kotlin.lexer.JetTokens;
|
||||
import org.jetbrains.kotlin.psi.*;
|
||||
|
||||
public class MakeClassAnAnnotationClassFix extends KotlinQuickFixAction<JetAnnotationEntry> {
|
||||
@@ -84,14 +84,13 @@ public class MakeClassAnAnnotationClassFix extends KotlinQuickFixAction<JetAnnot
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull JetFile file) throws IncorrectOperationException {
|
||||
JetPsiFactory factory = new JetPsiFactory(annotationClass.getProject());
|
||||
JetModifierList list = annotationClass.getModifierList();
|
||||
String annotation = KotlinBuiltIns.FQ_NAMES.annotation.shortName().asString();
|
||||
PsiElement added;
|
||||
if (list == null) {
|
||||
JetModifierList newModifierList = factory.createModifierList(annotation);
|
||||
JetModifierList newModifierList = factory.createModifierList(JetTokens.ANNOTATION_KEYWORD);
|
||||
added = annotationClass.addBefore(newModifierList, annotationClass.getClassOrInterfaceKeyword());
|
||||
}
|
||||
else {
|
||||
JetAnnotationEntry entry = factory.createAnnotationEntry(annotation);
|
||||
PsiElement entry = factory.createModifier(JetTokens.ANNOTATION_KEYWORD);
|
||||
added = list.addBefore(entry, list.getFirstChild());
|
||||
}
|
||||
annotationClass.addAfter(factory.createWhiteSpace(), added);
|
||||
|
||||
@@ -58,7 +58,6 @@ import com.intellij.util.VisibilityUtil
|
||||
import com.intellij.util.containers.MultiMap
|
||||
import org.jetbrains.kotlin.asJava.KotlinLightMethod
|
||||
import org.jetbrains.kotlin.asJava.LightClassUtil
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
@@ -450,8 +449,8 @@ private fun copyModifierListItems(from: PsiModifierList, to: PsiModifierList, wi
|
||||
}
|
||||
for (annotation in from.getAnnotations()) {
|
||||
val annotationName = annotation.getQualifiedName()!!
|
||||
if (KotlinBuiltIns.FQ_NAMES.annotation.asString() != annotationName
|
||||
&& javaClass<Retention>().getName() != annotationName) {
|
||||
|
||||
if (javaClass<Retention>().getName() != annotationName) {
|
||||
to.addAnnotation(annotationName)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user