From 8d22aabd9f4c0c88c07223548d0494832ba60f68 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Fri, 16 Oct 2015 16:08:27 +0300 Subject: [PATCH] Add flags --- .../kotlin/serialization/DebugProtoBuf.java | 48 +++++++++++++++++++ core/deserialization/src/descriptors.proto | 6 +++ .../jetbrains/kotlin/serialization/Flags.java | 6 +++ .../kotlin/serialization/ProtoBuf.java | 48 +++++++++++++++++++ 4 files changed, 108 insertions(+) diff --git a/compiler/tests/org/jetbrains/kotlin/serialization/DebugProtoBuf.java b/compiler/tests/org/jetbrains/kotlin/serialization/DebugProtoBuf.java index 72c7eb003ab..a212574fddc 100644 --- a/compiler/tests/org/jetbrains/kotlin/serialization/DebugProtoBuf.java +++ b/compiler/tests/org/jetbrains/kotlin/serialization/DebugProtoBuf.java @@ -15320,6 +15320,9 @@ public final class DebugProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ boolean hasFlags(); @@ -15334,6 +15337,9 @@ public final class DebugProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ int getFlags(); @@ -15646,6 +15652,9 @@ public final class DebugProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public boolean hasFlags() { @@ -15662,6 +15671,9 @@ public final class DebugProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public int getFlags() { @@ -16405,6 +16417,9 @@ public final class DebugProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public boolean hasFlags() { @@ -16421,6 +16436,9 @@ public final class DebugProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public int getFlags() { @@ -16437,6 +16455,9 @@ public final class DebugProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public Builder setFlags(int value) { @@ -16456,6 +16477,9 @@ public final class DebugProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public Builder clearFlags() { @@ -17555,6 +17579,7 @@ public final class DebugProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ boolean hasGetterFlags(); @@ -17567,6 +17592,7 @@ public final class DebugProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ int getGetterFlags(); @@ -17958,6 +17984,7 @@ public final class DebugProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public boolean hasGetterFlags() { @@ -17972,6 +17999,7 @@ public final class DebugProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public int getGetterFlags() { @@ -19294,6 +19322,7 @@ public final class DebugProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public boolean hasGetterFlags() { @@ -19308,6 +19337,7 @@ public final class DebugProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public int getGetterFlags() { @@ -19322,6 +19352,7 @@ public final class DebugProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public Builder setGetterFlags(int value) { @@ -19339,6 +19370,7 @@ public final class DebugProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public Builder clearGetterFlags() { @@ -19404,6 +19436,8 @@ public final class DebugProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ boolean hasFlags(); @@ -19414,6 +19448,8 @@ public final class DebugProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ int getFlags(); @@ -19623,6 +19659,8 @@ public final class DebugProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public boolean hasFlags() { @@ -19635,6 +19673,8 @@ public final class DebugProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public int getFlags() { @@ -20118,6 +20158,8 @@ public final class DebugProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public boolean hasFlags() { @@ -20130,6 +20172,8 @@ public final class DebugProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public int getFlags() { @@ -20142,6 +20186,8 @@ public final class DebugProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public Builder setFlags(int value) { @@ -20157,6 +20203,8 @@ public final class DebugProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public Builder clearFlags() { diff --git a/core/deserialization/src/descriptors.proto b/core/deserialization/src/descriptors.proto index 2fb744513fd..0058407b38c 100644 --- a/core/deserialization/src/descriptors.proto +++ b/core/deserialization/src/descriptors.proto @@ -234,6 +234,9 @@ message Function { MemberKind isOperator isInfix + isInline + isTailrec + isExternal */ optional int32 flags = 1 [default = 6]; @@ -286,6 +289,7 @@ message Property { Visibility Modality isNotDefault + isExternal */ optional int32 getter_flags = 7 /* absent => same as property */; optional int32 setter_flags = 8 /* absent => same as property */; @@ -297,6 +301,8 @@ message ValueParameter { /* declaresDefault hasAnnotations + isCrossinline + isNoinline */ optional int32 flags = 1 [default = 0]; diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java b/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java index de8c654114d..9c8e49dae57 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java @@ -52,6 +52,9 @@ public class Flags { public static final BooleanFlagField IS_OPERATOR = FlagField.booleanAfter(MEMBER_KIND); public static final BooleanFlagField IS_INFIX = FlagField.booleanAfter(IS_OPERATOR); + public static final BooleanFlagField IS_INLINE = FlagField.booleanAfter(IS_INFIX); + public static final BooleanFlagField IS_TAILREC = FlagField.booleanAfter(IS_INLINE); + public static final BooleanFlagField IS_EXTERNAL_FUNCTION = FlagField.booleanAfter(IS_TAILREC); // Properties @@ -65,11 +68,14 @@ public class Flags { // Parameters public static final BooleanFlagField DECLARES_DEFAULT_VALUE = FlagField.booleanAfter(HAS_ANNOTATIONS); + public static final BooleanFlagField IS_CROSSINLINE = FlagField.booleanAfter(DECLARES_DEFAULT_VALUE); + public static final BooleanFlagField IS_NOINLINE = FlagField.booleanAfter(IS_CROSSINLINE); // Accessors // It's important that this flag is negated: "is NOT default" instead of "is default" public static final BooleanFlagField IS_NOT_DEFAULT = FlagField.booleanAfter(MODALITY); + public static final BooleanFlagField IS_EXTERNAL_ACCESSOR = FlagField.booleanAfter(IS_NOT_DEFAULT); // --- diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/ProtoBuf.java b/core/deserialization/src/org/jetbrains/kotlin/serialization/ProtoBuf.java index 832336388bf..e5251b705f3 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/ProtoBuf.java +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/ProtoBuf.java @@ -11710,6 +11710,9 @@ public final class ProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ boolean hasFlags(); @@ -11724,6 +11727,9 @@ public final class ProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ int getFlags(); @@ -11983,6 +11989,9 @@ public final class ProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public boolean hasFlags() { @@ -11999,6 +12008,9 @@ public final class ProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public int getFlags() { @@ -12604,6 +12616,9 @@ public final class ProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public boolean hasFlags() { @@ -12620,6 +12635,9 @@ public final class ProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public int getFlags() { @@ -12636,6 +12654,9 @@ public final class ProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public Builder setFlags(int value) { @@ -12655,6 +12676,9 @@ public final class ProtoBuf { *MemberKind *isOperator *isInfix + *isInline + *isTailrec + *isExternal * */ public Builder clearFlags() { @@ -13334,6 +13358,7 @@ public final class ProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ boolean hasGetterFlags(); @@ -13346,6 +13371,7 @@ public final class ProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ int getGetterFlags(); @@ -13698,6 +13724,7 @@ public final class ProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public boolean hasGetterFlags() { @@ -13712,6 +13739,7 @@ public final class ProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public int getGetterFlags() { @@ -14656,6 +14684,7 @@ public final class ProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public boolean hasGetterFlags() { @@ -14670,6 +14699,7 @@ public final class ProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public int getGetterFlags() { @@ -14684,6 +14714,7 @@ public final class ProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public Builder setGetterFlags(int value) { @@ -14701,6 +14732,7 @@ public final class ProtoBuf { *Visibility *Modality *isNotDefault + *isExternal * */ public Builder clearGetterFlags() { @@ -14766,6 +14798,8 @@ public final class ProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ boolean hasFlags(); @@ -14776,6 +14810,8 @@ public final class ProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ int getFlags(); @@ -14956,6 +14992,8 @@ public final class ProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public boolean hasFlags() { @@ -14968,6 +15006,8 @@ public final class ProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public int getFlags() { @@ -15378,6 +15418,8 @@ public final class ProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public boolean hasFlags() { @@ -15390,6 +15432,8 @@ public final class ProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public int getFlags() { @@ -15402,6 +15446,8 @@ public final class ProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public Builder setFlags(int value) { @@ -15417,6 +15463,8 @@ public final class ProtoBuf { * *declaresDefault *hasAnnotations + *isCrossinline + *isNoinline * */ public Builder clearFlags() {