@tsonic/dotnet-pure
Version:
TypeScript type definitions for .NET 10 BCL (Base Class Library) - CLR naming
77 lines (59 loc) • 3.77 kB
TypeScript
// Generated by tsbindgen - Architecture
// Namespace: System.Runtime.InteropServices.ObjectiveC
// Assembly: System.Private.CoreLib
// Branded primitive types are sourced from @tsonic/types
import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/types';
// Import support types from @tsonic/types
import type { ptr, ref } from "@tsonic/types";
// Import types from other namespaces
import type { MethodInfo } from "../../System.Reflection/internal/index.js";
import type { GCHandle } from "../../System.Runtime.InteropServices/internal/index.js";
import * as System_Runtime_Serialization_Internal from "../../System.Runtime.Serialization/internal/index.js";
import type { ISerializable, SerializationInfo, StreamingContext } from "../../System.Runtime.Serialization/internal/index.js";
import * as System_Internal from "../../System/internal/index.js";
import type { AsyncCallback, Attribute, Boolean as ClrBoolean, Delegate, Enum, Exception, IAsyncResult, ICloneable, IComparable, IConvertible, IFormatProvider, IFormattable, Int32, IntPtr, ISpanFormattable, MulticastDelegate, Object as ClrObject, RuntimeMethodHandle, Span_1, String as ClrString, Type, TypeCode, Void } from "../../System/internal/index.js";
// CLROf<T> - Maps ergonomic primitives to their CLR types for generic constraints
// This utility is used ONLY in generic type arguments to satisfy CLR interface constraints
// Value positions (parameters, return types) use lowercase primitives for ergonomics
export type CLROf<T> =
T extends sbyte ? System_Internal.SByte :
T extends short ? System_Internal.Int16 :
T extends int ? System_Internal.Int32 :
T extends long ? System_Internal.Int64 :
T extends int128 ? System_Internal.Int128 :
T extends nint ? System_Internal.IntPtr :
T extends byte ? System_Internal.Byte :
T extends ushort ? System_Internal.UInt16 :
T extends uint ? System_Internal.UInt32 :
T extends ulong ? System_Internal.UInt64 :
T extends uint128 ? System_Internal.UInt128 :
T extends nuint ? System_Internal.UIntPtr :
T extends half ? System_Internal.Half :
T extends float ? System_Internal.Single :
T extends double ? System_Internal.Double :
T extends decimal ? System_Internal.Decimal :
T extends char ? System_Internal.Char :
T extends boolean ? System_Internal.Boolean :
T extends string ? System_Internal.String :
T; // Identity fallback for non-primitive types
export enum ObjectiveCMarshal_MessageSendFunction {
MsgSend = 0,
MsgSendFpret = 1,
MsgSendStret = 2,
MsgSendSuper = 3,
MsgSendSuperStret = 4
}
export type ObjectiveCMarshal_UnhandledExceptionPropagationHandler = (exception: Exception, lastMethod: RuntimeMethodHandle, context: ref<nint>) => unknown;
export interface ObjectiveCTrackedTypeAttribute$instance extends Attribute {
}
export const ObjectiveCTrackedTypeAttribute: {
new(): ObjectiveCTrackedTypeAttribute$instance;
};
export type ObjectiveCTrackedTypeAttribute = ObjectiveCTrackedTypeAttribute$instance;
export abstract class ObjectiveCMarshal$instance {
static CreateReferenceTrackingHandle(obj: unknown, taggedMemory: { value: ref<Span_1<CLROf<nint>>> }): GCHandle;
static Initialize(beginEndCallback: unknown, isReferencedCallback: unknown, trackedObjectEnteredFinalization: unknown, unhandledExceptionPropagationHandler: ObjectiveCMarshal_UnhandledExceptionPropagationHandler): void;
static SetMessageSendCallback(msgSendFunction: ObjectiveCMarshal_MessageSendFunction, func: nint): void;
static SetMessageSendPendingException(exception: Exception): void;
}
export type ObjectiveCMarshal = ObjectiveCMarshal$instance;