Larva HIR view

Standard library

228 types in 11 namespaces, from System.Core, System.Bindings. Every type is shown as Larva HIR, decompiled from its Larva HIR.

System

class Activator Objects of types known at run time.
class Any
class ArgumentError An argument out of what the method takes.
class ArgumentOutOfRangeError An argument outside the values it may take.
class Array
class Attribute What custom attributes derive from: a class derived from it can be written in […] on a type or a member (with constant arguments), and reflection gives its objects (GetCustomAttributes).
struct Boolean
class Boxed<T> What an any holds a function value or a pointer in (neither is an object of its own): any a = f; makes one, (func<i32> : i32)a takes the value back out.
class Char
class Console
class DateFields internal What reading a date found.
struct DateTime A moment on the calendar, from 0001-01-01 to 9999-12-31, to 100 ns, and whose clock it reads (Kind).
enum DateTimeKind Whose clock a DateTime reads: not said, UTC's, or the local time zone's.
bitflags DateTimeStyles How Parse reads a date.
class Dates internal The calendar's arithmetic (proleptic Gregorian, days since 0001-01-01).
enum DayOfWeek The days of the week, from Sunday (0).
class DecimalDigits internal A number's exact decimal digits: value = 0.d1 d2 … × 10^Point (digits 0..9, no leading zero; Count 0: zero).
class Dictionary<K, V>
struct DictionaryIterator<K, V> The pairs of a dictionary, in the table's order.
class Environment
class Exception
class Exchange
class Fail Throws the library's errors from one place, so the methods that check stay small (and are inlined).
struct Float128
struct Float16
struct Float256
struct Float32
struct Float64
class FormatError Text that is not what it should be (a number to parse…).
class FriendOfAttribute [FriendOf(T)] on a type makes it and T friends, from any assembly: each sees the other's friendly members.
class GC The collector (System.GC): asking for a collection, and what it has done.
class HashSet<T> A set of values by hash: Add, Contains, Remove, and loop (T item in set).
interface IComparable<TSelf> Values with an order: -1, 0 or 1 as this value is smaller than, equal to or larger than other.
interface IHashable<TSelf> Values that can be keys of a Dictionary or members of a HashSet: equal values (Equals) have the same Hash().
interface INumber<TSelf> A number: +, -, *, /, %, == and < on two of them (so != and > too), the constants Zero and One, and FromF64/ToF64.
interface ISignedNumber<TSelf> A number with a sign: negation and minus one.
interface IToString What has a text of its own: ToString().
class IndexError An index outside a collection.
struct Int128
struct Int16
struct Int256
struct Int32
struct Int64
struct Int8
class InvalidCastError A value of the wrong type given to a member through reflection (or a target that is not the member's).
class InvalidOperationError Something the object cannot do in its state (an empty list's last element…).
class Iterator<T> The values of a function with yield, made one at a time: each Next() runs the function on to its next yield.
class KeyNotFoundError A key a dictionary does not have.
struct KeyValuePair<K, V>
class LinkedList<T> A doubly linked list: adding and removing at either end, or next to a node, costs the same at any size.
struct LinkedListIterator<T> The values of a linked list, from the first.
class LinkedListNode<T> A node of a LinkedList: its value, and its neighbours (null at the ends, and once it has been removed).
class List<T>
struct ListIterator<T> The items of a list, in order.
class Lists What List<T> offers when its items can be compared or tested for equality.
class LocalZone internal The local time zone's offset from UTC, asked of the system once per quarter hour of UTC (zones change their offset only on quarter hours).
class Math
class MissingMemberError A member asked for through reflection is not there (no such constructor or method).
class NotSupportedError Something reflection cannot do (setting a field of a boxed value, a value that is not an object).
class Number Numbers as text and back.
class NumberFormat Numbers formatted as text (what the primitives' ToString(format) call).
class NumberText internal The text a format makes: bytes (ASCII), grown as needed, then one string of exactly them.
class OverflowError A number too big (or too small) for its type, in checked arithmetic or a checked conversion.
class PriorityQueue<E, P> Elements with priorities; Dequeue gives one with the smallest priority (among equals, in no set order).
class Queue<T> First in, first out: Enqueue at the end, Dequeue from the front (a ring buffer).
class Random Pseudo-random numbers.
class Records
class ResourceData Read-only bytes of a resource, read in place from the program's static data (no copy): indexed, iterated, sliced.
struct ResourceIterator loop (u8 b in data) over a ResourceData.
class Resources
class SortedDictionary<K, V> A map from keys to values kept in key order: Set, Get, map[key], TryGet, ContainsKey, Remove, MinKey, MaxKey, and loop (KeyValuePair<K, V> pair in map) from the smallest key.
struct SortedIterator<K, V> The pairs of a sorted map, from the smallest key: an in-order walk with its own stack.
class SortedSet<T> A set kept in order: Add, Contains, Remove, Min, Max, and loop (T item in set) from the smallest.
struct SortedSetIterator<T>
struct Span<T> A run of an array's elements, seen in place: span[i] reads and writes the array, Slice makes a smaller view, nothing is copied.
struct SpanIterator<T> The elements of a span, in order.
class Spans What spans of comparable, equatable and number elements can do.
class Stack<T> Last in, first out: Push and Pop at the top.
class String<T>
class StringBuilder
struct StringIterator<T> The code units of a string, in order.
class TimeFormat internal Dates and lengths of time as text, and read back.
struct TimeSpan A length of time (negative too): ticks of 100 ns.
class TimeText internal Text being written for a date or a length of time.
class Tuple<T1> 1 item in an object: Item1, fixed when it is made.
class Tuple<T1, T2> 2 items in an object: Item1…Item2, fixed when it is made.
class Tuple<T1, T2, T3> 3 items in an object: Item1…Item3, fixed when it is made.
class Tuple<T1, T2, T3, T4> 4 items in an object: Item1…Item4, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5> 5 items in an object: Item1…Item5, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6> 6 items in an object: Item1…Item6, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7> 7 items in an object: Item1…Item7, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7, T8> 8 items in an object: Item1…Item8, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> 9 items in an object: Item1…Item9, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> 10 items in an object: Item1…Item10, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> 11 items in an object: Item1…Item11, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> 12 items in an object: Item1…Item12, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> 13 items in an object: Item1…Item13, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> 14 items in an object: Item1…Item14, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> 15 items in an object: Item1…Item15, fixed when it is made.
class Tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> 16 items in an object: Item1…Item16, fixed when it is made.
class Type A type at run time: typeof(T) and x.GetType() give the same object for the same type (compare with ==).
struct UInt128
struct UInt16
struct UInt256
struct UInt32
struct UInt64
struct UInt8
class Unicode Code points to and from UTF-8, UTF-16 and UTF-32 units (the unit type says which).
struct ValueTuple<T1> 1 item in a value: Item1, which can be changed.
struct ValueTuple<T1, T2> 2 items in a value: Item1…Item2, which can be changed.
struct ValueTuple<T1, T2, T3> 3 items in a value: Item1…Item3, which can be changed.
struct ValueTuple<T1, T2, T3, T4> 4 items in a value: Item1…Item4, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5> 5 items in a value: Item1…Item5, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6> 6 items in a value: Item1…Item6, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7> 7 items in a value: Item1…Item7, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8> 8 items in a value: Item1…Item8, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> 9 items in a value: Item1…Item9, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> 10 items in a value: Item1…Item10, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> 11 items in a value: Item1…Item11, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> 12 items in a value: Item1…Item12, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> 13 items in a value: Item1…Item13, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> 14 items in a value: Item1…Item14, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> 15 items in a value: Item1…Item15, which can be changed.
struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> 16 items in a value: Item1…Item16, which can be changed.

System.Bindings

class BindingModel Every declaration of the binding, in the order C declared them, and its settings.
class BindingProfile A profile that does what the settings say: derive from it and override what you decide yourself.
class BindingRunner Runs a profile for larva bind (larva calls it; a profile does not).
class BindingSettings The binding's settings: what is read, where it goes, and the rules every name follows unless a hook says otherwise.
class CConstant An integer constant (a #define, or an enum value no enum took): a const of a static class.
class CEnum An enum (or bitflag enum): from a C enum, or made from constants (BindingModel.Enum).
class CEnumMember A member of an enum.
class CField A field of a struct or union.
class CFunction A C function the library exports: an [Import] of the binding.
class CParameter A parameter of a C function.
class CStruct A C struct (or union) with its layout: a value type of the binding.
class CType A C type as the binding writes it (i32, u8*, SDL_Rect*, func*<void*> : i32), and the typedef C wrote it with.
enum ExportCheck What happens to a function the headers declare and the library does not export.
interface IBindingProfile What larva bind --profile asks a profile, in this order: Configure (once, before the headers are read), Start (with everything read), Enum, Struct, Constant and Function for each declaration (false leaves it out), Name for each name not set by those hooks, then Finish.
enum NameCase The case a name is written in.
enum NameKind What a name is (what Name is asked about).
class Names Names: prefixes, case, patterns.
class Place internal Where the description is: the namespace, class and file lines written when they change.
enum SplitBy How the source of the binding is split into files.

System.Diagnostics

class Process A program started by this one.
class ProcessResult What a program that ran left: its exit code and what it wrote.
class Stopwatch Measures elapsed time, from the runtime's monotonic clock in nanoseconds.

System.IO

class BinaryReader
class BinaryWriter
class BufferedStream A buffer in front of another stream: small reads and writes become few large ones.
class Directory
class EndOfStreamError The end of a stream came before what had to be read.
class File
enum FileAccess
enum FileMode
class FileStream A file read and written in ranges of bytes, at a position, through a buffer.
class HandleStream A file the runtime has open, by handle (0, 1 and 2 are the console's input, output and error): no buffer of its own.
class IOError A file or folder that could not be read, written, made or found.
class MemoryStream Bytes kept in an array that grows as it is written (or in a fixed array given to it).
class Path Paths as text: '/' and '' both separate folders.
enum SeekOrigin Where Seek counts from.
class Stream A sequence of bytes.
class StreamReader Text read from a stream as UTF-8 (a byte order mark at the start is skipped), through a buffer.
class StreamWriter Text written to a stream as UTF-8, through a buffer.
class StringReader Text read from a str.
class StringWriter Text gathered into a StringBuilder.
class TextReader Reads text: code points one at a time, lines, or all of it.
class TextWriter Writes text.

System.Net

class HttpClient The smallest HTTP client: GET over http://host[:port]/path, one connection per request, no TLS.
class HttpResponse What a GET brought back.
class NetworkStream The bytes of a connection, by the runtime's handle.
class TcpClient One TCP connection.
class TcpListener Accepts TCP connections on a port (0: one the system picks; see Port).

System.Reactive

class Computed<T> A value computed from reactive ones, kept until one of them changes: what computed T P => e; makes.
class Effect A computation that runs again whenever a Source it read notifies, until disposed.
class Reactive
class Source What effects depend on: tracked when read inside one, notifying its observers when written.

System.Reflection

class Attributes internal
bitflags BindingFlags Which members to look at: instance or static ones, public or not, only the type's own.
class ConstructorInfo A constructor: makes objects through Invoke(arguments).
class Fail internal What the compiler's code calls when reflection meets what it cannot do.
class FieldInfo A field: its type, and its value in an object (GetValue(obj); null for a static field).
class MemberInfo What every member has: its name, the type that declares it, its access, and where its describer keeps it.
class MethodBase What methods and constructors have: parameters.
class MethodInfo A method: its result type, and calls through Invoke(target, arguments).
class ParameterInfo A parameter of a method or constructor.
class Parameters internal
class PartsDescriber internal Types made from others (arrays, pointers, nullables, functions): their parts.
class PropertyInfo A property: its type, and its value through its accessors.
class Reentrant internal A lock that the thread holding it may take again (the slow path of typeof may describe other types meanwhile).
class TypeDescriber What the compiler writes for each type (a class derived from this one per type): the parts of its Type made on first use, and access to its members by number.

System.Runtime.InteropServices

class CStrings internal Temporary C strings: what the compiler calls around an imported function that takes strings.
class FieldOffsetAttribute [FieldOffset(n)] on each field of a [ValueLayout(Layout.Explicit)] value: its place in bytes from the start.
enum Layout How the fields of a value are placed in memory.
class Marshal Native memory and conversions between Antril values and C data.
class Memory Raw memory (unsafe code).
class NativeMemory Native memory blocks (not seen by the collector).
class ValueLayoutAttribute [ValueLayout(Layout.Explicit, Size = 128)], [ValueLayout(Layout.Sequential, Pack = 1)] on a value: its fields where C would put them, for structs and unions that cross to C by pointer.

System.Text

class Encoding
enum JsonKind
class JsonReader Reads a value from UTF-8 units.
class JsonValue
class Match A match: where it is, its text, and its groups (an unmatched group gives the empty text).
class Regex A compiled pattern.
class RegexNode A node of a parsed pattern.
class RegexParser A pattern's text to its nodes.
class UTF8Encoding

System.Threading

class AtomicBool A bool that threads change together.
class AtomicI32 An i32 that threads change together (each operation is atomic).
class AtomicI64 An i64 that threads change together (as AtomicI32).
class AutoResetEvent An event that lets one waiter through each time it is set (and resets itself).
class BlockingCollection<T> A queue that hands items from producers to consumers: Take waits for an item; after CompleteAdding, Take on an empty queue throws and TryTake gives false.
class ConcurrentQueue<T> A queue several threads use at once (a lock around a Queue).
class Condition Waiting until another thread says something changed: Wait releases the mutex (which the caller holds) while it waits and takes it back before it returns.
class CountdownEvent Set once it has been signaled initialCount times: Wait waits for that.
class Interlocked Atomic operations on numbers in memory reached by pointers (unsafe code): Interlocked.Add(&counts[i], 1).
class Lock A lock with the names Enter, Exit and TryEnter.
class ManualResetEvent An event that stays set until Reset: WaitOne returns at once while it is set.
class Mutex A lock: one thread at a time between Lock and Unlock (not re-entrant: a thread that holds it must not lock it again).
class Parallel Loops whose passes run on several threads at once.
class SemaphoreSlim Counts permits: Wait takes one (waiting while there are none), Release gives them back.
class Shared<T> internal A value in an object (what several lambdas share and change).
class Thread A thread of its own running a function: new Thread(() => …), Start, Join.
class ThreadPool Threads that run queued work: as many as processors, started with the first work item, kept for the program.

System.Threading.Tasks

class CompleteTask internal Completes a task in its turn (Task.Yield()).
class Scheduler Runs tasks on this thread, one at a time: those ready (in order), then the timers that are due; when nothing is ready it sleeps until the next timer.
class Task Work that finishes later: an async function, a delay, several tasks together.
class Task<T> A task with a value: what an async function that returns one gives.
class WhenAllTask internal Waits for every task of a list: each one that finishes runs it, and it counts what is left.
Esc