Add isData() to ClassDescriptor

This commit is contained in:
Alexey Tsvetkov
2015-10-14 14:44:23 +03:00
parent 1414fe1699
commit 264bd5235b
11 changed files with 48 additions and 4 deletions
@@ -88,13 +88,15 @@ public class Flags {
Modality modality,
ClassKind kind,
boolean inner,
boolean isCompanionObject
boolean isCompanionObject,
boolean isData
) {
return HAS_ANNOTATIONS.toFlags(hasAnnotations)
| MODALITY.toFlags(modality(modality))
| VISIBILITY.toFlags(visibility(visibility))
| CLASS_KIND.toFlags(classKind(kind, isCompanionObject))
| IS_INNER.toFlags(inner)
| IS_DATA.toFlags(isData)
;
}
@@ -54,6 +54,7 @@ public class DeserializedClassDescriptor(
private val kind = Deserialization.classKind(kindFromProto)
private val isCompanion = kindFromProto == ProtoBuf.Class.Kind.COMPANION_OBJECT
private val isInner = Flags.IS_INNER.get(classProto.getFlags())
private val isData = Flags.IS_DATA.get(classProto.flags)
val c = outerContext.childContext(this, classProto.typeParameterList, nameResolver, TypeTable(classProto.typeTable))
@@ -90,6 +91,8 @@ public class DeserializedClassDescriptor(
override fun isInner() = isInner
override fun isData() = isData
override fun getAnnotations() = annotations
override fun getUnsubstitutedMemberScope() = memberScope