public static Marshaler CreateMarshaler(global::System.Type value) { TypeKind kind = TypeKind.Custom; if (value is object) { if (value.IsPrimitive) { kind = TypeKind.Primitive; } else if (value == typeof(object) || value == typeof(string) || value == typeof(Guid)) { kind = TypeKind.Metadata; } else if (Projections.IsTypeWindowsRuntimeType(value)) { kind = TypeKind.Metadata; } } return(new Marshaler { Name = MarshalString.CreateMarshaler(TypeNameSupport.GetNameForType(value, TypeNameGenerationFlags.None)), Kind = kind }); }
private static (String Name, TypeKind Kind) ToAbi(global::System.Type value) { TypeKind kind = TypeKind.Custom; if (value is object) { if (value.IsPrimitive) { kind = TypeKind.Primitive; } else if (value == typeof(object) || value == typeof(string) || value == typeof(Guid) || value == typeof(System.Type)) { kind = TypeKind.Metadata; } else if (Projections.IsTypeWindowsRuntimeType(value)) { kind = TypeKind.Metadata; } } return(kind == TypeKind.Custom ? value.AssemblyQualifiedName : TypeNameSupport.GetNameForType(value, TypeNameGenerationFlags.None), kind); }