Add 'operator' keyword

This commit is contained in:
Yan Zhulanow
2015-09-16 19:59:02 +03:00
parent 4a32993cc3
commit bc727a170b
58 changed files with 179 additions and 54 deletions
@@ -252,6 +252,7 @@ message Callable {
hasConstant
isConst
lateinit
isOperator
*/
optional int32 flags = 1;
@@ -52,6 +52,8 @@ public class Flags {
public static final FlagField<Boolean> LATE_INIT = FlagField.booleanAfter(IS_CONST);
public static final FlagField<Boolean> IS_OPERATOR = FlagField.booleanAfter(LATE_INIT);
// Parameters
public static final FlagField<Boolean> DECLARES_DEFAULT_VALUE = FlagField.booleanAfter(HAS_ANNOTATIONS);
@@ -118,7 +120,8 @@ public class Flags {
boolean hasSetter,
boolean hasConstant,
boolean lateInit,
boolean isConst
boolean isConst,
boolean isOperator
) {
return HAS_ANNOTATIONS.toFlags(hasAnnotations)
| MODALITY.toFlags(modality(modality))
@@ -130,6 +133,7 @@ public class Flags {
| HAS_CONSTANT.toFlags(hasConstant)
| LATE_INIT.toFlags(lateInit)
| IS_CONST.toFlags(isConst)
| IS_OPERATOR.toFlags(isOperator)
;
}
@@ -148,9 +148,10 @@ public class MemberDeserializer(private val c: DeserializationContext) {
getDispatchReceiverParameter(),
local.typeDeserializer.ownTypeParameters,
local.memberDeserializer.valueParameters(proto, AnnotatedCallableKind.FUNCTION),
local.typeDeserializer.type(proto.getReturnType()),
Deserialization.modality(Flags.MODALITY.get(proto.getFlags())),
Deserialization.visibility(Flags.VISIBILITY.get(proto.getFlags()))
local.typeDeserializer.type(proto.returnType),
Deserialization.modality(Flags.MODALITY.get(proto.flags)),
Deserialization.visibility(Flags.VISIBILITY.get(proto.flags)),
Flags.IS_OPERATOR.get(proto.flags)
)
return function
}