Added platformStatic annotation

This commit is contained in:
Michael Bogdanov
2014-08-28 15:45:15 +04:00
parent 36ada06bdb
commit 7bbedd9685
3 changed files with 15 additions and 0 deletions
+4
View File
@@ -1497,6 +1497,10 @@ public final annotation class noinline : kotlin.Annotation {
/*primary*/ public constructor noinline()
}
public final annotation class platformStatic : kotlin.Annotation {
/*primary*/ public constructor platformStatic()
}
public final annotation class suppress : kotlin.Annotation {
/*primary*/ public constructor suppress(/*0*/ vararg names: kotlin.String /*kotlin.Array<kotlin.String>*/)
internal final val names: kotlin.Array<kotlin.String>
+2
View File
@@ -23,3 +23,5 @@ public annotation class deprecated(val value: String)
public annotation class suppress(vararg val names: String)
public annotation class tailRecursive
public annotation class platformStatic
@@ -333,6 +333,11 @@ public class KotlinBuiltIns {
return getBuiltInClassByName("tailRecursive");
}
@NotNull
public ClassDescriptor getPlatforStaticAnnotationClass() {
return getBuiltInClassByName("platformStatic");
}
@NotNull
public ClassDescriptor getDeprecatedAnnotation() {
return getBuiltInClassByName("deprecated");
@@ -862,6 +867,10 @@ public class KotlinBuiltIns {
return containsAnnotation(declarationDescriptor, getTailRecursiveAnnotationClass());
}
public boolean isPlatformStatic(@NotNull CallableDescriptor callableDescriptor) {
return containsAnnotation(callableDescriptor, getPlatforStaticAnnotationClass());
}
public boolean isSuppressAnnotation(@NotNull AnnotationDescriptor annotationDescriptor) {
ClassifierDescriptor classifier = annotationDescriptor.getType().getConstructor().getDeclarationDescriptor();
return classifier != null && fqNames.suppress.equals(DescriptorUtils.getFqName(classifier));