feat(@JsExport for interfaces): add ability to export interfaces in TypeScript.

This commit is contained in:
Artem Kobzar
2021-11-18 10:07:38 +00:00
committed by Space
parent 4dcfd38236
commit d5dd35cb20
35 changed files with 366 additions and 55 deletions
@@ -32,3 +32,6 @@ inline val ClassKind.isInterface: Boolean
inline val ClassKind.isEnumClass: Boolean
get() = this == ClassKind.ENUM_CLASS
inline val ClassKind.isClass: Boolean
get() = this == ClassKind.CLASS
@@ -136,6 +136,11 @@ val DeclarationDescriptor.isInsidePrivateClass: Boolean
return parent != null && DescriptorVisibilities.isPrivate(parent.visibility)
}
val DeclarationDescriptor.isInsideInterface: Boolean
get() {
val parent = containingDeclaration as? ClassDescriptor
return parent != null && parent.kind.isInterface
}
fun ClassDescriptor.getSuperClassNotAny(): ClassDescriptor? {
for (supertype in defaultType.constructor.supertypes) {