public static bool IsPolymorphicReferenceType(this NIType type) { return(type.IsGenericTypeSpecialization(PolymorphicReferenceGenericType)); }
internal static NIType CreatePanicResult(this NIType type) { return(SpecializeGenericType(PanicResultGenericType, type)); }
public static NIType CreateSliceMutableIterator(this NIType elementType, NIType lifetimeType) { return(SpecializeGenericType(SliceMutableIteratorGenericType, elementType, lifetimeType)); }
public static bool TryDestructureMethodCallPromiseType(this NIType type, out NIType outputType) { return(type.TryGetGenericParameterOfSpecialization(MethodCallPromiseGenericType, 0, out outputType)); }
public static NIType CreateNotifierWriter(this NIType type) { return(SpecializeGenericType(NotifierWriterGenericType, type)); }
public static bool IsSlice(this NIType type) { return(IsGenericTypeSpecialization(type, SliceGenericType)); }
public static bool TryDestructureYieldPromiseType(this NIType type, out NIType elementType) { return(type.TryGetGenericParameterOfSpecialization(YieldPromiseGenericType, 0, out elementType)); }
public static bool IsSharedType(this NIType type) { return(type.IsGenericTypeSpecialization(SharedGenericType)); }
/// <summary> /// If the given <see cref="type"/> is a LockingCell type, outputs the inner value type and returns true; otherwise, returns false. /// </summary> /// <param name="type">The <see cref="NIType"/> to try to destructure as an LockingCell type.</param> /// <param name="valueType">The inner value type of the given type if it is an LockingCell.</param> /// <returns>True if the given type was an LockingCell type; false otherwise.</returns> public static bool TryDestructureLockingCellType(this NIType type, out NIType valueType) { return(type.TryGetGenericParameterOfSpecialization(LockingCellGenericType, 0, out valueType)); }
public static bool IsLockingCellType(this NIType type) { return(type.IsGenericTypeSpecialization(LockingCellGenericType)); }
public static NIType CreateShared(this NIType dereferenceType) { return(SpecializeGenericType(SharedGenericType, dereferenceType)); }
public static NIType CreateLockingCell(this NIType dereferenceType) { return(SpecializeGenericType(LockingCellGenericType, dereferenceType)); }
public static bool IsOptionType(this NIType type) { return(type.IsGenericTypeSpecialization(OptionGenericType)); }
public static NIType CreateOption(this NIType valueType) { return(SpecializeGenericType(OptionGenericType, valueType)); }
/// <summary> /// If the given <see cref="type"/> is a Vector type, outputs the inner value type and returns true; otherwise, returns false. /// </summary> /// <param name="type">The <see cref="NIType"/> to try to destructure as an Vector type.</param> /// <param name="itemType">The inner value type of the given type if it is an Vector.</param> /// <returns>True if the given type was an Vector type; false otherwise.</returns> public static bool TryDestructureVectorType(this NIType type, out NIType itemType) { return(type.TryGetGenericParameterOfSpecialization(VectorGenericType, 0, out itemType)); }
/// <summary> /// If the given <see cref="type"/> is a Shared type, outputs the inner value type and returns true; otherwise, returns false. /// </summary> /// <param name="type">The <see cref="NIType"/> to try to destructure as an Shared type.</param> /// <param name="valueType">The inner value type of the given type if it is an Shared.</param> /// <returns>True if the given type was an Shared type; false otherwise.</returns> public static bool TryDestructureSharedType(this NIType type, out NIType valueType) { return(type.TryGetGenericParameterOfSpecialization(SharedGenericType, 0, out valueType)); }
public static NIType CreateSlice(this NIType elementType) { return(SpecializeGenericType(SliceGenericType, elementType)); }
public static bool IsIteratorType(this NIType type) { return(type.IsGenericTypeSpecialization(IteratorInterfaceGenericType)); }
public static NIType CreateYieldPromise(this NIType type) { return(SpecializeGenericType(YieldPromiseGenericType, type)); }
/// <summary> /// If the given <see cref="type"/> is an Iterator type, outputs the inner value type and returns true; otherwise, returns false. /// </summary> /// <param name="type">The <see cref="NIType"/> to try to destructure as an Iterator type.</param> /// <param name="valueType">The inner value type of the given type if it is an Iterator.</param> /// <returns>True if the given type was an Iterator type; false otherwise.</returns> public static bool TryDestructureIteratorType(this NIType type, out NIType valueType) { return(type.TryGetGenericParameterOfSpecialization(IteratorInterfaceGenericType, 0, out valueType)); }
public static NIType CreateMethodCallPromise(this NIType type) { return(SpecializeGenericType(MethodCallPromiseGenericType, type)); }
public static NIType CreateStringSplitIterator(this NIType lifetimeType) { return(SpecializeGenericType(StringSplitIteratorGenericType, lifetimeType)); }
public static NIType CreateNotifierReaderPromise(this NIType type) { return(SpecializeGenericType(NotifierReaderPromiseGenericType, type)); }
public static bool IsStringSplitIteratorType(this NIType type) { return(IsGenericTypeSpecialization(type, StringSplitIteratorGenericType)); }
public static bool TryDestructureNotifierWriterType(this NIType type, out NIType valueType) { return(type.TryGetGenericParameterOfSpecialization(NotifierWriterGenericType, 0, out valueType)); }
public static NIType CreateVector(this NIType itemType) { return(SpecializeGenericType(VectorGenericType, itemType)); }
internal static bool TryDestructurePanicResultType(this NIType type, out NIType resultType) { return(type.TryGetGenericParameterOfSpecialization(PanicResultGenericType, 0, out resultType)); }
public static bool IsVectorType(this NIType type) { return(type.IsGenericTypeSpecialization(VectorGenericType)); }
public static bool IsSliceMutableIteratorType(this NIType type) { return(IsGenericTypeSpecialization(type, SliceMutableIteratorGenericType)); }
public static NIType CreatePolymorphicReference(this NIType dereferenceType, NIType lifetimeType, NIType mutabilityType) { return(SpecializeGenericType(PolymorphicReferenceGenericType, dereferenceType, lifetimeType, mutabilityType)); }