Esempio n. 1
0
 internal static KotlinClass FromProtobuf(Class c, JvmNameResolver resolver)
 {
     return(new KotlinClass {
         CompanionObjectName = c.CompanionObjectName > 0 ? resolver.GetString(c.CompanionObjectName) : null,
         Constructors = c.Constructors?.Select(ctor => KotlinConstructor.FromProtobuf(ctor, resolver)).ToList(),
         EnumEntries = c.EnumEntries?.Select(e => resolver.GetString(e.Name)).ToList(),
         Flags = (KotlinClassFlags)c.Flags,
         FullyQualifiedName = c.FqName > 0 ? resolver.GetString(c.FqName) : null,
         Functions = c.Functions?.Select(f => KotlinFunction.FromProtobuf(f, resolver)).ToList(),
         NestedClassNames = c.NestedClassNames?.Select(n => resolver.GetString(n)).ToList(),
         Properties = c.Properties?.Select(p => KotlinProperty.FromProtobuf(p, resolver)).ToList(),
         SealedSubclassFullyQualifiedNames = c.SealedSubclassFqNames?.Select(n => resolver.GetString(n)).ToList(),
         SuperTypeIds = c.SupertypeIds?.Select(n => resolver.GetString(n)).ToList(),
         SuperTypes = c.Supertypes?.Select(st => KotlinType.FromProtobuf(st, resolver)).ToList(),
         TypeAliases = c.TypeAlias?.Select(tp => KotlinTypeAlias.FromProtobuf(tp, resolver)).ToList(),
         TypeParameters = c.TypeParameters?.Select(tp => KotlinTypeParameter.FromProtobuf(tp, resolver)).ToList(),
         VersionRequirements = c.VersionRequirements,
         TypeTable = KotlinTypeTable.FromProtobuf(c.TypeTable, resolver),
         VersionRequirementTable = KotlinVersionRequirementTable.FromProtobuf(c.VersionRequirementTable, resolver)
     });
 }
Esempio n. 2
0
        internal static KotlinType FromProtobuf(Type t, JvmNameResolver resolver)
        {
            if (t is null)
            {
                return(null);
            }

            return(new KotlinType {
                Arguments = t.Arguments?.Select(a => KotlinTypeArgument.FromProtobuf(a, resolver)).ToList(),
                Nullable = t.Nullable,
                FlexibleTypeCapabilitiesId = t.FlexibleTypeCapabilitiesId,
                FlexibleUpperBound = FromProtobuf(t.FlexibleUpperBound, resolver),
                ClassName = t.ClassName > 0 ? resolver.GetString(t.ClassName) : null,
                TypeParameter = t.TypeParameter,
                TypeParameterName = t.TypeParameterName > 0 ? resolver.GetString(t.TypeParameterName) : null,
                OuterType = FromProtobuf(t.OuterType, resolver),
                OuterTypeId = t.OuterTypeId,
                AbbreviatedType = FromProtobuf(t.AbbreviatedType, resolver),
                AbbreviatedTypeId = t.AbbreviatedTypeId,
                Flags = t.Flags
            });
        }
Esempio n. 3
0
 internal static KotlinClass FromProtobuf(Class c, JvmNameResolver resolver)
 {
     return(new KotlinClass {
         CompanionObjectName = c.CompanionObjectName > 0 ? resolver.GetString(c.CompanionObjectName) : null,
         Constructors = c.Constructors.ToList(resolver, KotlinConstructor.FromProtobuf),
         EnumEntries = c.EnumEntries?.Select(e => resolver.GetString(e.Name)).ToList(),
         Flags = (KotlinClassFlags)c.Flags,
         FullyQualifiedName = c.FqName > 0 ? resolver.GetString(c.FqName) : null,
         Functions = c.Functions.ToList(resolver, KotlinFunction.FromProtobuf),
         Inheritability = (KotlinClassInheritability)((c.Flags & 0b110000) >> 4),
         NestedClassNames = c.NestedClassNames?.Select(n => resolver.GetString(n)).ToList() ?? new List <string> (),
         ObjectType = (KotlinClassType)((c.Flags & 0b111000000) >> 6),
         Properties = c.Properties.ToList(resolver, KotlinProperty.FromProtobuf),
         SealedSubclassFullyQualifiedNames = c.SealedSubclassFqNames?.Select(n => resolver.GetString(n)).ToList(),
         SuperTypeIds = c.SupertypeIds?.Select(n => resolver.GetString(n)).ToList(),
         SuperTypes = c.Supertypes.ToList(resolver, KotlinType.FromProtobuf),
         TypeAliases = c.TypeAlias.ToList(resolver, KotlinTypeAlias.FromProtobuf),
         TypeParameters = c.TypeParameters.ToList(resolver, KotlinTypeParameter.FromProtobuf),
         VersionRequirements = c.VersionRequirements,
         TypeTable = KotlinTypeTable.FromProtobuf(c.TypeTable, resolver),
         VersionRequirementTable = KotlinVersionRequirementTable.FromProtobuf(c.VersionRequirementTable, resolver),
         Visibility = (KotlinClassVisibility)((c.Flags & 0b1110) >> 1)
     });
Esempio n. 4
0
        internal static KotlinValueParameter FromProtobuf(ValueParameter vp, JvmNameResolver resolver)
        {
            if (vp is null)
            {
                return(null);
            }

            return(new KotlinValueParameter {
                Flags = vp.Flags,
                Name = resolver.GetString(vp.Name),
                Type = KotlinType.FromProtobuf(vp.Type, resolver),
                TypeId = vp.TypeId,
                VarArgElementType = KotlinType.FromProtobuf(vp.VarargElementType, resolver),
                VarArgElementTypeId = vp.VarargElementTypeId
            });
        }
Esempio n. 5
0
        internal static KotlinTypeParameter FromProtobuf(TypeParameter vp, JvmNameResolver resolver)
        {
            if (vp is null)
            {
                return(null);
            }

            return(new KotlinTypeParameter {
                Id = vp.Id,
                Name = resolver.GetString(vp.Name),
                Reified = vp.Reified,
                Variance = (KotlinVariance)vp.variance,
                UpperBounds = vp.UpperBounds?.Select(ub => KotlinType.FromProtobuf(ub, resolver)).ToList(),
                UpperBoundsIds = vp.UpperBoundIds
            });
        }
Esempio n. 6
0
        internal static KotlinTypeAlias FromProtobuf(TypeAlias ta, JvmNameResolver resolver)
        {
            if (ta is null)
            {
                return(null);
            }

            return(new KotlinTypeAlias {
                Flags = ta.Flags,
                Name = resolver.GetString(ta.Name),
                TypeParameters = ta.TypeParameters?.Select(tp => KotlinTypeParameter.FromProtobuf(tp, resolver)).ToList(),
                UnderlyingType = KotlinType.FromProtobuf(ta.UnderlyingType, resolver),
                UnderlyingTypeId = ta.UnderlyingTypeId,
                ExpandedType = KotlinType.FromProtobuf(ta.ExpandedType, resolver),
                ExpandedTypeId = ta.ExpandedTypeId,
                VersionRequirements = ta.VersionRequirements
            });
        }
Esempio n. 7
0
        internal static KotlinFunction FromProtobuf(Function f, JvmNameResolver resolver)
        {
            if (f is null)
            {
                return(null);
            }

            return(new KotlinFunction {
                Flags = f.Flags,
                Name = resolver.GetString(f.Name),
                ReturnType = KotlinType.FromProtobuf(f.ReturnType, resolver),
                ReturnTypeId = f.ReturnTypeId,
                ReceiverType = KotlinType.FromProtobuf(f.ReceiverType, resolver),
                ReceiverTypeId = f.ReceiverTypeId,
                TypeParameters = f.TypeParameters?.Select(tp => KotlinTypeParameter.FromProtobuf(tp, resolver)).ToList(),
                ValueParameters = f.ValueParameters?.Select(vp => KotlinValueParameter.FromProtobuf(vp, resolver)).ToList(),
                VersionRequirements = f.VersionRequirements
            });
        }
Esempio n. 8
0
        internal static KotlinProperty FromProtobuf(Property p, JvmNameResolver resolver)
        {
            if (p is null)
            {
                return(null);
            }

            return(new KotlinProperty {
                Flags = p.Flags,
                Name = resolver.GetString(p.Name),
                ReturnTypeId = p.ReturnTypeId,
                ReturnType = KotlinType.FromProtobuf(p.ReturnType, resolver),
                ReceiverType = KotlinType.FromProtobuf(p.ReceiverType, resolver),
                ReceiverTypeId = p.ReceiverTypeId,
                SetterValueParameter = KotlinValueParameter.FromProtobuf(p.SetterValueParameter, resolver),
                GetterFlags = p.GetterFlags,
                SetterFlags = p.SetterFlags,
                TypeParameters = p.TypeParameters?.Select(tp => KotlinTypeParameter.FromProtobuf(tp, resolver)).ToList(),
                VersionRequirements = p.VersionRequirements
            });
        }
Esempio n. 9
0
        internal static KotlinAnnotationArgumentValue FromProtobuf(org.jetbrains.kotlin.metadata.jvm.Annotation.Argument.Value value, JvmNameResolver resolver)
        {
            if (value is null)
            {
                return(null);
            }

            return(new KotlinAnnotationArgumentValue {
                Type = (KotlinAnnotationArgumentType)value.type,
                IntValue = value.IntValue,
                FloatValue = value.FloatValue,
                DoubleValue = value.DoubleValue,
                StringValue = resolver.GetString(value.StringValue),
                ClassId = value.ClassId,
                EnumValueId = value.EnumValueId,
                Annotation = KotlinAnnotation.FromProtobuf(value.Annotation, resolver),
                ArrayDimensionCount = value.ArrayDimensionCount,
                ArrayElements = value.ArrayElements?.Select(vp => KotlinAnnotationArgumentValue.FromProtobuf(vp, resolver)).ToList(),
                Flags = value.Flags
            });
        }