Remove @annotation from stdlib and compiler
This commit is contained in:
@@ -218,7 +218,7 @@ public interface JetTokens {
|
||||
|
||||
// Please synchronize this array with org.jetbrains.kotlin.descriptors.annotations.ANNOTATION_MODIFIERS_FQ_NAMES
|
||||
JetModifierKeywordToken[] ANNOTATION_MODIFIERS_KEYWORDS_ARRAY = new JetModifierKeywordToken[] {
|
||||
INLINE_KEYWORD, NOINLINE_KEYWORD, TAILREC_KEYWORD, EXTERNAL_KEYWORD, ANNOTATION_KEYWORD, CROSSINLINE_KEYWORD
|
||||
INLINE_KEYWORD, NOINLINE_KEYWORD, TAILREC_KEYWORD, EXTERNAL_KEYWORD, CROSSINLINE_KEYWORD
|
||||
};
|
||||
|
||||
TokenSet MODIFIER_KEYWORDS = TokenSet.create(MODIFIER_KEYWORDS_ARRAY);
|
||||
|
||||
@@ -26,7 +26,6 @@ import com.intellij.psi.impl.source.codeStyle.CodeEditUtil
|
||||
import com.intellij.psi.stubs.IStubElementType
|
||||
import com.intellij.psi.util.PsiTreeUtil
|
||||
import org.jetbrains.kotlin.JetNodeTypes
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.lexer.JetTokens
|
||||
import org.jetbrains.kotlin.psi.stubs.KotlinClassOrObjectStub
|
||||
import org.jetbrains.kotlin.psi.stubs.elements.JetStubElementTypes
|
||||
@@ -108,17 +107,7 @@ abstract public class JetClassOrObject :
|
||||
|
||||
public fun getSecondaryConstructors(): List<JetSecondaryConstructor> = getBody()?.getSecondaryConstructors().orEmpty()
|
||||
|
||||
public fun isAnnotation(): Boolean =
|
||||
getAnnotation(KotlinBuiltIns.FQ_NAMES.annotation.shortName().asString()) != null || hasModifier(JetTokens.ANNOTATION_KEYWORD)
|
||||
|
||||
private fun getAnnotation(name: String): JetAnnotationEntry? {
|
||||
return getAnnotationEntries().firstOrNull() { entry ->
|
||||
val typeReference = entry.getTypeReference()
|
||||
val userType = typeReference?.getStubOrPsiChild(JetStubElementTypes.USER_TYPE)
|
||||
|
||||
name == userType?.getReferencedName()
|
||||
}
|
||||
}
|
||||
public fun isAnnotation(): Boolean = hasModifier(JetTokens.ANNOTATION_KEYWORD)
|
||||
|
||||
public override fun delete() {
|
||||
CheckUtil.checkWritable(this);
|
||||
|
||||
+1
-1
@@ -165,7 +165,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
|
||||
this.kind = storageManager.createLazyValue(new Function0<ClassKind>() {
|
||||
@Override
|
||||
public ClassKind invoke() {
|
||||
return (syntaxKind == ClassKind.CLASS && KotlinBuiltIns.isAnnotation(descriptor)) ? ClassKind.ANNOTATION_CLASS : syntaxKind;
|
||||
return (syntaxKind == ClassKind.CLASS && modifierList != null && modifierList.hasModifier(JetTokens.ANNOTATION_KEYWORD)) ? ClassKind.ANNOTATION_CLASS : syntaxKind;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user