Skip to content

Instantly share code, notes, and snippets.

@HertzDevil
Last active July 25, 2021 07:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HertzDevil/5aae937fe5894f5e3e16a3b952e8261c to your computer and use it in GitHub Desktop.
Save HertzDevil/5aae937fe5894f5e3e16a3b952e8261c to your computer and use it in GitHub Desktop.
class Object # Crystal::NonGenericClassType
end
class Reference # Crystal::NonGenericClassType
end
class String # Crystal::NonGenericClassType
@bytesize : Int32 # (4 bytes)
@length : Int32 # (4 bytes)
@c : UInt8 # (1 bytes)
end
class Array(T) # Crystal::GenericClassType
end
class Hash(K, V) # Crystal::GenericClassType
end
class Regex # Crystal::NonGenericClassType
end
class Exception # Crystal::NonGenericClassType
end
class Foo # Crystal::NonGenericClassType
end
struct Value # Crystal::NonGenericClassType
end
struct Number # Crystal::NonGenericClassType
end
struct Int < Number # Crystal::NonGenericClassType
end
struct Int8 < Int # Crystal::IntegerType
end
struct UInt8 < Int # Crystal::IntegerType
end
struct Int16 < Int # Crystal::IntegerType
end
struct UInt16 < Int # Crystal::IntegerType
end
struct Int32 < Int # Crystal::IntegerType
end
struct UInt32 < Int # Crystal::IntegerType
end
struct Int64 < Int # Crystal::IntegerType
end
struct UInt64 < Int # Crystal::IntegerType
end
struct Int128 < Int # Crystal::IntegerType
end
struct UInt128 < Int # Crystal::IntegerType
end
struct Float < Number # Crystal::NonGenericClassType
end
struct Float32 < Float # Crystal::FloatType
end
struct Float64 < Float # Crystal::FloatType
end
struct Nil # Crystal::NilType
end
struct Bool # Crystal::BoolType
end
struct Char # Crystal::CharType
end
struct Symbol # Crystal::SymbolType
end
struct Pointer(T) # Crystal::PointerType
end
struct Tuple(*T) # Crystal::TupleType
end
struct NamedTuple(T) # Crystal::NamedTupleType
end
struct StaticArray(T, N) # Crystal::StaticArrayType
@buffer : T
end
struct Struct # Crystal::NonGenericClassType
end
struct Range(B, E) # Crystal::GenericClassType
end
struct Enum # Crystal::NonGenericClassType
end
struct Proc(*T, R) # Crystal::ProcType
end
struct Union(*T) # Crystal::GenericUnionType
end
class Object # Crystal::NonGenericClassType
end
class Reference # Crystal::NonGenericClassType
end
module Comparable(T) # Crystal::GenericModuleType
end
class String # Crystal::NonGenericClassType
include Comparable(String)
@bytesize : Int32 # (4 bytes)
@length : Int32 # (4 bytes)
@c : UInt8 # (1 bytes)
end
module Iterable(T) # Crystal::GenericModuleType
end
module Enumerable(T) # Crystal::GenericModuleType
end
module Indexable(T) # Crystal::GenericModuleType
include Enumerable(T)
include Iterable(T)
end
class Array(T) # Crystal::GenericClassType
include Comparable(Array(T))
include Indexable(T)
@size : Int32 # (4 bytes)
@capacity : Int32 # (4 bytes)
@offset_to_buffer : Int32 # (4 bytes)
@buffer : Pointer(T)
end
class Hash(K, V) # Crystal::GenericClassType
include Iterable(Tuple(K, V))
include Enumerable(Tuple(K, V))
@first : Int32 # (4 bytes)
@entries : Pointer(Hash::Entry(K, V))
@indices : Pointer(UInt8) # (8 bytes)
@size : Int32 # (4 bytes)
@deleted_count : Int32 # (4 bytes)
@indices_bytesize : Int8 # (1 bytes)
@indices_size_pow2 : UInt8 # (1 bytes)
@compare_by_identity : Bool # (0 bytes)
@block : (Proc(Hash(K, V), K, V) | Nil)
end
class Regex # Crystal::NonGenericClassType
@options : Regex::Options # (4 bytes)
@source : String # (8 bytes)
@re : LibPCRE::Pcre # (8 bytes)
@extra : LibPCRE::PcreExtra # (8 bytes)
@captures : Int32 # (4 bytes)
end
class Exception # Crystal::NonGenericClassType
@message : (String | Nil) # ( 8 bytes)
@cause : (Exception | Nil) # ( 8 bytes)
@callstack : (Exception::CallStack | Nil) # (24 bytes)
end
class Crystal::ELF::Error < Exception # Crystal::NonGenericClassType
end
class IndexError < Exception # Crystal::NonGenericClassType
end
class ArgumentError < Exception # Crystal::NonGenericClassType
end
class TypeCastError < Exception # Crystal::NonGenericClassType
end
class InvalidByteSequenceError < Exception # Crystal::NonGenericClassType
end
class KeyError < Exception # Crystal::NonGenericClassType
end
class DivisionByZeroError < Exception # Crystal::NonGenericClassType
end
class OverflowError < Exception # Crystal::NonGenericClassType
end
class NotImplementedError < Exception # Crystal::NonGenericClassType
end
class NilAssertionError < Exception # Crystal::NonGenericClassType
end
module SystemError # Crystal::NonGenericModuleType
@os_error : (Errno | WinError | Nil) # (16 bytes)
end
class RuntimeError < Exception # Crystal::NonGenericClassType
include SystemError
@os_error : (Errno | WinError | Nil) # (16 bytes)
end
class Enumerable::EmptyError < Exception # Crystal::NonGenericClassType
end
class IO::Error < Exception # Crystal::NonGenericClassType
include SystemError
@os_error : (Errno | WinError | Nil) # (16 bytes)
end
class IO::TimeoutError < IO::Error # Crystal::NonGenericClassType
end
class IO::EOFError < IO::Error # Crystal::NonGenericClassType
end
class File::Error < IO::Error # Crystal::NonGenericClassType
@file : String # (8 bytes)
@other : (String | Nil) # (8 bytes)
end
class File::NotFoundError < File::Error # Crystal::NonGenericClassType
end
class File::AlreadyExistsError < File::Error # Crystal::NonGenericClassType
end
class File::AccessDeniedError < File::Error # Crystal::NonGenericClassType
end
class Channel::ClosedError < Exception # Crystal::NonGenericClassType
end
class File::BadPatternError < Exception # Crystal::NonGenericClassType
end
class Path::Error < Exception # Crystal::NonGenericClassType
end
class Base64::Error < Exception # Crystal::NonGenericClassType
end
class Time::FloatingTimeConversionError < Exception # Crystal::NonGenericClassType
end
class Time::Format::Error < Exception # Crystal::NonGenericClassType
end
class Time::Location::InvalidTZDataError < Exception # Crystal::NonGenericClassType
end
class Time::Location::InvalidLocationNameError < Exception # Crystal::NonGenericClassType
@name : String # (8 bytes)
@source : (String | Nil) # (8 bytes)
end
class Time::Location::InvalidTimezoneOffsetError < Exception # Crystal::NonGenericClassType
end
class Crystal::OnceState # Crystal::NonGenericClassType
@rec : Array(Pointer(Bool)) # (8 bytes)
end
class Iterator::Stop # Crystal::NonGenericClassType
end
module Iterator(T) # Crystal::GenericModuleType
include Enumerable(T)
end
class Iterator::AccumulateInit(I, T, U) # Crystal::GenericClassType
include Iterator(U)
@acc : (Iterator::Stop | U)
@iterator : I
@func : Proc(U, T, U)
end
module Iterator::IteratorWrapper # Crystal::NonGenericModuleType
end
class Iterator::Accumulate(I, T) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@acc : (Iterator::Stop | T)
@iterator : I
@func : Proc(T, T, T)
end
class Iterator::Chain(I1, I2, T1, T2) # Crystal::GenericClassType
include Iterator(T1 | T2)
@iterator1 : I1
@iterator2 : I2
@iterator1_consumed : Bool # (0 bytes)
end
class Iterator::ChainsAll(Iter, T) # Crystal::GenericClassType
include Iterator(T)
@iterators : Iterator(Iter)
@current : (Iter | Iterator::Stop)
end
class Iterator::CycleN(I, T, N) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@n : N
@count : Int32 # (4 bytes)
@values : Array(T)
@use_values : Bool # (0 bytes)
@index : Int32 # (4 bytes)
end
class Iterator::FlatMap(I0, T, I, F) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I0
@func : F
@nest_iterator : (I | Nil)
@stopped : Array(I)
end
class Iterator::Skip(I, T, N) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@n : N
@original : N
end
class Iterator::SkipWhile(I, T, U) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@func : Proc(T, U)
@returned_false : Bool # (0 bytes)
end
class Iterator::First(I, T, N) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@n : N
@original : N
end
class Iterator::TakeWhile(I, T, U) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@func : Proc(T, U)
@returned_false : Bool # (0 bytes)
end
class Iterator::WithIndex(I, T, O) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(Tuple(T, Int32))
@iterator : I
@offset : O
@index : O
end
class Iterator::Chunk(I, T, U) # Crystal::GenericClassType
include Iterator(Tuple(U, Array(T)))
@iterator : I
@init : (Tuple(U, T) | Nil)
@original_block : Proc(T, U)
@acc : Enumerable::Chunk::Accumulator(T, U)
end
class Iterator::SliceAfter(I, T, B) # Crystal::GenericClassType
include Iterator(Array(T))
@iterator : I
@block : Proc(T, B)
@end : Bool # (0 bytes)
@clear_on_next : Bool # (0 bytes)
@values : Array(T)
@reuse : Bool # (0 bytes)
end
class Iterator::SliceBefore(I, T, B) # Crystal::GenericClassType
include Iterator(Array(T))
@value_to_add : (T | Nil)
@has_value_to_add : Bool # (0 bytes)
@iterator : I
@block : Proc(T, B)
@end : Bool # (0 bytes)
@values : Array(T)
@reuse : Bool # (0 bytes)
end
class Iterator::SliceWhen(I, T, B) # Crystal::GenericClassType
include Iterator(Array(T))
@previous_value : (T | Nil)
@has_previous_value : Bool # (0 bytes)
@iterator : I
@block : Proc(T, T, B)
@negate : Bool # (0 bytes)
@end : Bool # (0 bytes)
@values : Array(T)
@reuse : Bool # (0 bytes)
end
class Steppable::StepIterator(T, L, B) # Crystal::GenericClassType
include Iterator(T)
@current : T
@limit : L
@step : B
@at_start : Bool # (0 bytes)
@reached_end : Bool # (0 bytes)
@exclusive : Bool # (0 bytes)
end
class Indexable::ItemIterator(A, T) # Crystal::GenericClassType
include Iterator(T)
@array : A
@index : Int32 # (4 bytes)
end
class Indexable::ReverseItemIterator(A, T) # Crystal::GenericClassType
include Iterator(T)
@array : A
@index : Int32 # (4 bytes)
end
class Indexable::IndexIterator(A) # Crystal::GenericClassType
include Iterator(Int32)
@array : A
@index : Int32 # (4 bytes)
end
class Indexable::PermutationIterator(A, T) # Crystal::GenericClassType
include Iterator(Array(T))
@size : Int32 # (4 bytes)
@n : Int32 # (4 bytes)
@cycles : Array(Int32) # (8 bytes)
@pool : Array(T)
@stop : Bool # (0 bytes)
@i : Int32 # (4 bytes)
@first : Bool # (0 bytes)
@reuse : (Array(T) | Nil)
end
class Indexable::CombinationIterator(A, T) # Crystal::GenericClassType
include Iterator(Array(T))
@size : Int32 # (4 bytes)
@n : Int32 # (4 bytes)
@copy : Array(T)
@pool : Array(T)
@indices : Array(Int32) # (8 bytes)
@stop : Bool # (0 bytes)
@i : Int32 # (4 bytes)
@first : Bool # (0 bytes)
@reuse : (Array(T) | Nil)
end
class Indexable::RepeatedCombinationIterator(A, T) # Crystal::GenericClassType
include Iterator(Array(T))
@size : Int32 # (4 bytes)
@n : Int32 # (4 bytes)
@copy : A
@indices : Array(Int32) # (8 bytes)
@pool : Array(T)
@stop : Bool # (0 bytes)
@i : Int32 # (4 bytes)
@first : Bool # (0 bytes)
@reuse : (Array(T) | Nil)
end
class String::CharIterator # Crystal::NonGenericClassType
include Iterator(Char)
@reader : Char::Reader # (48 bytes)
@end : Bool # ( 0 bytes)
end
class String::LineIterator # Crystal::NonGenericClassType
include Iterator(String)
@string : String # (8 bytes)
@chomp : Bool # (0 bytes)
@offset : Int32 # (4 bytes)
@end : Bool # (0 bytes)
end
class IO # Crystal::NonGenericClassType
@encoding : (IO::EncodingOptions | Nil) # (32 bytes)
@encoder : (IO::Encoder | Nil) # ( 8 bytes)
@decoder : (IO::Decoder | Nil) # ( 8 bytes)
end
class IO::ARGF < IO # Crystal::NonGenericClassType
@path : (String | Nil) # (8 bytes)
@current_io : (IO | Nil) # (8 bytes)
@argv : Array(String) # (8 bytes)
@stdin : IO+ # (8 bytes)
@initialized : Bool # (0 bytes)
@read_from_stdin : Bool # (0 bytes)
end
module IO::Buffered # Crystal::NonGenericModuleType
@in_buffer_rem : Slice(UInt8) # (16 bytes)
@out_count : Int32 # ( 4 bytes)
@sync : Bool # ( 0 bytes)
@read_buffering : Bool # ( 0 bytes)
@flush_on_newline : Bool # ( 0 bytes)
@buffer_size : Int32 # ( 4 bytes)
@in_buffer : (Pointer(UInt8) | Nil) # (16 bytes)
@out_buffer : (Pointer(UInt8) | Nil) # (16 bytes)
end
module Crystal::System::FileDescriptor # Crystal::NonGenericModuleType
include IO::Evented
@volatile_fd : Atomic(Int32) # ( 4 bytes)
@closed : (Bool | Nil) # (16 bytes)
@read_timeout : (Time::Span | Nil) # (24 bytes)
@write_timeout : (Time::Span | Nil) # (24 bytes)
@read_timed_out : Bool # ( 0 bytes)
@write_timed_out : Bool # ( 0 bytes)
@readers : Crystal::ThreadLocalValue(Deque(Fiber)) # (16 bytes)
@writers : Crystal::ThreadLocalValue(Deque(Fiber)) # (16 bytes)
@read_event : Crystal::ThreadLocalValue(Crystal::Event) # (16 bytes)
@write_event : Crystal::ThreadLocalValue(Crystal::Event) # (16 bytes)
end
class IO::FileDescriptor < IO # Crystal::NonGenericClassType
include IO::Buffered
include Crystal::System::FileDescriptor
@volatile_fd : Atomic(Int32) # ( 4 bytes)
@closed : Bool # ( 0 bytes)
@in_buffer_rem : Slice(UInt8) # (16 bytes)
@out_count : Int32 # ( 4 bytes)
@sync : Bool # ( 0 bytes)
@read_buffering : Bool # ( 0 bytes)
@flush_on_newline : Bool # ( 0 bytes)
@buffer_size : Int32 # ( 4 bytes)
@in_buffer : (Pointer(UInt8) | Nil) # (16 bytes)
@out_buffer : (Pointer(UInt8) | Nil) # (16 bytes)
@read_timeout : (Time::Span | Nil) # (24 bytes)
@write_timeout : (Time::Span | Nil) # (24 bytes)
@read_timed_out : Bool # ( 0 bytes)
@write_timed_out : Bool # ( 0 bytes)
@readers : Crystal::ThreadLocalValue(Deque(Fiber)) # (16 bytes)
@writers : Crystal::ThreadLocalValue(Deque(Fiber)) # (16 bytes)
@read_event : Crystal::ThreadLocalValue(Crystal::Event) # (16 bytes)
@write_event : Crystal::ThreadLocalValue(Crystal::Event) # (16 bytes)
end
module Crystal::System::File # Crystal::NonGenericModuleType
end
class File < IO::FileDescriptor # Crystal::NonGenericClassType
include Crystal::System::File
@path : String # (8 bytes)
end
class IO::Delimited < IO # Crystal::NonGenericClassType
@closed : Bool # ( 0 bytes)
@delimiter_buffer : Slice(UInt8) # (16 bytes)
@active_delimiter_buffer : Slice(UInt8) # (16 bytes)
@io : IO+ # ( 8 bytes)
@read_delimiter : Slice(UInt8) # (16 bytes)
@sync_close : Bool # ( 0 bytes)
@finished : Bool # ( 0 bytes)
end
class IO::Hexdump < IO # Crystal::NonGenericClassType
@io : IO+ # (8 bytes)
@output : IO+ # (8 bytes)
@read : Bool # (0 bytes)
@write : Bool # (0 bytes)
end
class IO::Memory < IO # Crystal::NonGenericClassType
@buffer : Pointer(UInt8) # (8 bytes)
@bytesize : Int32 # (4 bytes)
@capacity : Int32 # (4 bytes)
@pos : Int32 # (4 bytes)
@closed : Bool # (0 bytes)
@resizeable : Bool # (0 bytes)
@writeable : Bool # (0 bytes)
end
class IO::MultiWriter < IO # Crystal::NonGenericClassType
@writers : Array(IO) # (8 bytes)
@closed : Bool # (0 bytes)
@sync_close : Bool # (0 bytes)
end
class IO::Sized < IO # Crystal::NonGenericClassType
@sync_close : Bool # (0 bytes)
@read_remaining : UInt64 # (8 bytes)
@closed : Bool # (0 bytes)
@io : IO+ # (8 bytes)
end
class IO::Stapled < IO # Crystal::NonGenericClassType
@sync_close : Bool # (0 bytes)
@closed : Bool # (0 bytes)
@reader : IO+ # (8 bytes)
@writer : IO+ # (8 bytes)
end
class String::Builder < IO # Crystal::NonGenericClassType
@bytesize : Int32 # (4 bytes)
@capacity : Int32 # (4 bytes)
@buffer : Pointer(UInt8) # (8 bytes)
@finished : Bool # (0 bytes)
end
class File::PReader < IO # Crystal::NonGenericClassType
include IO::Buffered
@in_buffer_rem : Slice(UInt8) # (16 bytes)
@out_count : Int32 # ( 4 bytes)
@sync : Bool # ( 0 bytes)
@read_buffering : Bool # ( 0 bytes)
@flush_on_newline : Bool # ( 0 bytes)
@buffer_size : Int32 # ( 4 bytes)
@in_buffer : (Pointer(UInt8) | Nil) # (16 bytes)
@out_buffer : (Pointer(UInt8) | Nil) # (16 bytes)
@offset : Int64 # ( 8 bytes)
@bytesize : Int64 # ( 8 bytes)
@pos : Int64 # ( 8 bytes)
@closed : Bool # ( 0 bytes)
@file : File # ( 8 bytes)
end
class IO::Encoder # Crystal::NonGenericClassType
@encoding_options : IO::EncodingOptions # (24 bytes)
@iconv : Crystal::Iconv # (16 bytes)
@closed : Bool # ( 0 bytes)
end
class IO::Decoder # Crystal::NonGenericClassType
@out_slice : Slice(UInt8) # (16 bytes)
@in_buffer : Pointer(UInt8) # ( 8 bytes)
@encoding_options : IO::EncodingOptions # (24 bytes)
@iconv : Crystal::Iconv # (16 bytes)
@buffer : Slice(UInt8) # (16 bytes)
@in_buffer_left : UInt64 # ( 8 bytes)
@out_buffer : Slice(UInt8) # (16 bytes)
@closed : Bool # ( 0 bytes)
end
class Box(T) # Crystal::GenericClassType
@object : T
end
class Thread::Mutex # Crystal::NonGenericClassType
@mutex : LibC::PthreadMutexT # (40 bytes)
end
class Thread # Crystal::NonGenericClassType
@gc_thread_handler : Pointer(Void) # ( 8 bytes)
@th : UInt64 # ( 8 bytes)
@exception : (Exception | Nil) # ( 8 bytes)
@main_fiber : (Fiber | Nil) # ( 8 bytes)
@next : (Thread | Nil) # ( 8 bytes)
@previous : (Thread | Nil) # ( 8 bytes)
@event_base : (Crystal::Event::Base | Nil) # (16 bytes)
@detached : Atomic(UInt8) # ( 1 bytes)
@func : Proc(Nil) # (16 bytes)
@scheduler : (Crystal::Scheduler | Nil) # ( 8 bytes)
end
class Thread::LinkedList(T) # Crystal::GenericClassType
@head : (T | Nil)
@tail : (T | Nil)
@mutex : Thread::Mutex # (8 bytes)
end
class Fiber # Crystal::NonGenericClassType
@context : Fiber::Context # (16 bytes)
@stack : Pointer(Void) # ( 8 bytes)
@resume_event : (Crystal::Event | Nil) # (24 bytes)
@timeout_event : (Crystal::Event | Nil) # (24 bytes)
@timeout_select_action : (Channel::TimeoutAction | Nil) # ( 8 bytes)
@stack_bottom : Pointer(Void) # ( 8 bytes)
@name : (String | Nil) # ( 8 bytes)
@next : (Fiber | Nil) # ( 8 bytes)
@previous : (Fiber | Nil) # ( 8 bytes)
@alive : Bool # ( 0 bytes)
@current_thread : Atomic(Thread | Nil) # ( 8 bytes)
@proc : (Proc(Nil) | Proc(Void)) # (24 bytes)
end
class Fiber::StackPool # Crystal::NonGenericClassType
@deque : Deque(Pointer(Void)) # (8 bytes)
@mutex : Thread::Mutex # (8 bytes)
end
class Crystal::SpinLock # Crystal::NonGenericClassType
end
class Channel::SelectContextSharedState # Crystal::NonGenericClassType
@state : Atomic(Channel::SelectState) # (4 bytes)
end
class Channel::SelectContext(S) # Crystal::GenericClassType
@state : Channel::SelectContextSharedState # (8 bytes)
@action : Channel::SelectAction(S)
@activated : Bool # (0 bytes)
end
module Channel::SelectAction(S) # Crystal::GenericModuleType
end
class Channel::StrictReceiveAction(T) # Crystal::GenericClassType
include Channel::SelectAction(T)
@receiver : Channel::Receiver(T)
@channel : Channel(T)
end
class Channel::LooseReceiveAction(T) # Crystal::GenericClassType
include Channel::SelectAction(T)
@receiver : Channel::Receiver(T)
@channel : Channel(T)
end
class Channel::SendAction(T) # Crystal::GenericClassType
include Channel::SelectAction(Nil)
@sender : Channel::Sender(T)
@channel : Channel(T)
end
class Channel::TimeoutAction # Crystal::NonGenericClassType
include Channel::SelectAction(Nil)
@timeout : Time::Span # (16 bytes)
@select_context : (Channel::SelectContext(Nil) | Nil) # ( 8 bytes)
end
class Channel(T) # Crystal::GenericClassType
@queue : (Deque(T) | Nil)
@lock : Crystal::SpinLock # (8 bytes)
@capacity : Int32 # (4 bytes)
@closed : Bool # (0 bytes)
@senders : Crystal::PointerLinkedList(Channel::Sender(T))
@receivers : Crystal::PointerLinkedList(Channel::Receiver(T))
end
class Thread::ConditionVariable # Crystal::NonGenericClassType
@cond : LibC::PthreadCondT # (48 bytes)
end
class Crystal::Scheduler # Crystal::NonGenericClassType
@lock : Crystal::SpinLock # (8 bytes)
@sleeping : Bool # (0 bytes)
@main : Fiber # (8 bytes)
@current : Fiber # (8 bytes)
@runnables : Deque(Fiber) # (8 bytes)
end
class Deque(T) # Crystal::GenericClassType
include Indexable(T)
@start : Int32 # (4 bytes)
@size : Int32 # (4 bytes)
@capacity : Int32 # (4 bytes)
@buffer : Pointer(T)
end
class Dir # Crystal::NonGenericClassType
include Iterable(String)
include Enumerable(String)
@path : String # (8 bytes)
@dir : Pointer(LibC::DIR) # (8 bytes)
@closed : Bool # (0 bytes)
end
module Hash::BaseIterator # Crystal::NonGenericModuleType
end
class Hash::EntryIterator(K, V) # Crystal::GenericClassType
include Iterator(Tuple(K, V))
include Hash::BaseIterator
@hash : Hash(K, V)
@index : Int32 # (4 bytes)
end
class Hash::KeyIterator(K, V) # Crystal::GenericClassType
include Iterator(K)
include Hash::BaseIterator
@hash : Hash(K, V)
@index : Int32 # (4 bytes)
end
class Hash::ValueIterator(K, V) # Crystal::GenericClassType
include Iterator(V)
include Hash::BaseIterator
@hash : Hash(K, V)
@index : Int32 # (4 bytes)
end
class Int::TimesIterator(T) # Crystal::GenericClassType
include Iterator(T)
@n : T
@index : T
end
class Int::UptoIterator(T, N) # Crystal::GenericClassType
include Iterator(T)
@from : T
@to : N
@current : T
@done : Bool # (0 bytes)
end
class Int::DowntoIterator(T, N) # Crystal::GenericClassType
include Iterator(T)
@from : T
@to : N
@current : T
@done : Bool # (0 bytes)
end
class Process # Crystal::NonGenericClassType
@input : (IO::FileDescriptor | Nil) # ( 8 bytes)
@output : (IO::FileDescriptor | Nil) # ( 8 bytes)
@error : (IO::FileDescriptor | Nil) # ( 8 bytes)
@process_info : Crystal::System::Process # (16 bytes)
@wait_count : Int32 # ( 4 bytes)
@channel : (Channel(Exception | Nil) | Nil) # ( 8 bytes)
end
class Mutex # Crystal::NonGenericClassType
@mutex_fiber : (Fiber | Nil) # (8 bytes)
@state : Atomic(Int32) # (4 bytes)
@lock_count : Int32 # (4 bytes)
@queue : Deque(Fiber) # (8 bytes)
@queue_count : Atomic(Int32) # (4 bytes)
@lock : Crystal::SpinLock # (8 bytes)
@protection : Mutex::Protection # (4 bytes)
end
class Path::PartIterator # Crystal::NonGenericClassType
include Iterator(String)
@path : Path # (16 bytes)
@reader : Char::Reader # (48 bytes)
@last_was_separator : Bool # ( 0 bytes)
@anchor_processed : Bool # ( 0 bytes)
end
class PrettyPrint::Text # Crystal::NonGenericClassType
@objs : Array(String) # (8 bytes)
@width : Int32 # (4 bytes)
end
class PrettyPrint::Breakable # Crystal::NonGenericClassType
@indent : Int32 # (4 bytes)
@group : PrettyPrint::Group # (8 bytes)
@obj : String # (8 bytes)
@width : Int32 # (4 bytes)
@pp : PrettyPrint # (8 bytes)
end
class PrettyPrint::Group # Crystal::NonGenericClassType
@depth : Int32 # (4 bytes)
@breakables : Deque(PrettyPrint::Breakable) # (8 bytes)
@break : Bool # (0 bytes)
end
class PrettyPrint::GroupQueue # Crystal::NonGenericClassType
@queue : Array(Array(PrettyPrint::Group)) # (8 bytes)
end
class PrettyPrint # Crystal::NonGenericClassType
@output : IO+ # (8 bytes)
@maxwidth : Int32 # (4 bytes)
@newline : String # (8 bytes)
@indent : Int32 # (4 bytes)
@output_width : Int32 # (4 bytes)
@buffer_width : Int32 # (4 bytes)
@buffer : Deque(PrettyPrint::Breakable | PrettyPrint::Text) # (8 bytes)
@group_stack : Array(PrettyPrint::Group) # (8 bytes)
@group_queue : PrettyPrint::GroupQueue # (8 bytes)
end
class Process::Status # Crystal::NonGenericClassType
@exit_status : Int32 # (4 bytes)
end
module Random # Crystal::NonGenericModuleType
end
class Random::PCG32 # Crystal::NonGenericClassType
include Random
@state : UInt64 # (8 bytes)
@inc : UInt64 # (8 bytes)
end
class Range::ItemIterator(B, E) # Crystal::GenericClassType
include Iterator(B)
@range : Range(B, E)
@current : B
@reached_end : Bool # (0 bytes)
end
class Range::ReverseIterator(B, E) # Crystal::GenericClassType
include Iterator(E)
@range : Range(B, E)
@current : E
end
class Range::StepIterator(R, B, N) # Crystal::GenericClassType
include Iterator(B)
@range : R
@step : N
@current : B
@reached_end : Bool # (0 bytes)
@at_start : Bool # (0 bytes)
end
class Time::Location # Crystal::NonGenericClassType
@name : String # ( 8 bytes)
@zones : Array(Time::Location::Zone) # ( 8 bytes)
@cached_range : Tuple(Int64, Int64) # (16 bytes)
@cached_zone : Time::Location::Zone # (16 bytes)
@transitions : Array(Time::Location::ZoneTransition) # ( 8 bytes)
end
struct Value # Crystal::NonGenericClassType
end
module Steppable # Crystal::NonGenericModuleType
end
struct Number # Crystal::NonGenericClassType
include Steppable
include Comparable(Number)
end
struct Int < Number # Crystal::NonGenericClassType
end
struct Int8 < Int # Crystal::IntegerType
end
struct UInt8 < Int # Crystal::IntegerType
end
struct Int16 < Int # Crystal::IntegerType
end
struct UInt16 < Int # Crystal::IntegerType
end
struct Int32 < Int # Crystal::IntegerType
end
struct UInt32 < Int # Crystal::IntegerType
end
struct Int64 < Int # Crystal::IntegerType
end
struct UInt64 < Int # Crystal::IntegerType
end
struct Int128 < Int # Crystal::IntegerType
end
struct UInt128 < Int # Crystal::IntegerType
end
struct Float < Number # Crystal::NonGenericClassType
end
struct Float32 < Float # Crystal::FloatType
end
struct Float64 < Float # Crystal::FloatType
end
struct Nil # Crystal::NilType
end
struct Bool # Crystal::BoolType
end
struct Char # Crystal::CharType
include Steppable
include Comparable(Char)
end
struct Symbol # Crystal::SymbolType
include Comparable(Symbol)
end
struct Pointer(T) # Crystal::PointerType
include Comparable(Pointer(T))
end
struct Tuple(*T) # Crystal::TupleType
include Comparable(Tuple(*T))
include Indexable(*T)
end
struct NamedTuple(T) # Crystal::NamedTupleType
end
struct StaticArray(T, N) # Crystal::StaticArrayType
include Indexable(T)
@buffer : T
end
struct Struct # Crystal::NonGenericClassType
end
struct Range(B, E) # Crystal::GenericClassType
include Iterable(B)
include Enumerable(B)
@begin : B
@end : E
@exclusive : Bool # (0 bytes)
end
struct LibC::DlInfo # Crystal::NonGenericClassType
@dli_fname : Pointer(UInt8) # (8 bytes)
@dli_fbase : Pointer(Void) # (8 bytes)
@dli_sname : Pointer(UInt8) # (8 bytes)
@dli_saddr : Pointer(Void) # (8 bytes)
end
union LibC::PthreadAttrT # Crystal::NonGenericClassType
@__size : StaticArray(UInt8, 56) # (56 bytes)
@__align : Int64 # ( 8 bytes)
end
struct LibC::PthreadCondTData # Crystal::NonGenericClassType
@__lock : Int32 # (4 bytes)
@__futex : UInt32 # (4 bytes)
@__total_seq : UInt64 # (8 bytes)
@__wakeup_seq : UInt64 # (8 bytes)
@__woken_seq : UInt64 # (8 bytes)
@__mutex : Pointer(Void) # (8 bytes)
@__nwaiters : UInt32 # (4 bytes)
@__broadcast_seq : UInt32 # (4 bytes)
end
union LibC::PthreadCondT # Crystal::NonGenericClassType
@__data : LibC::PthreadCondTData # (48 bytes)
@__size : StaticArray(UInt8, 48) # (48 bytes)
@__align : Int64 # ( 8 bytes)
end
union LibC::PthreadCondattrT # Crystal::NonGenericClassType
@__size : StaticArray(UInt8, 4) # (4 bytes)
@__align : Int32 # (4 bytes)
end
union LibC::PthreadMutexT # Crystal::NonGenericClassType
@__data : Pointer(Void) # ( 8 bytes)
@__size : StaticArray(UInt8, 40) # (40 bytes)
@__align : Int64 # ( 8 bytes)
end
union LibC::PthreadMutexattrT # Crystal::NonGenericClassType
@__size : StaticArray(UInt8, 4) # (4 bytes)
@__align : Int32 # (4 bytes)
end
struct LibUnwind::Exception # Crystal::NonGenericClassType
@exception_class : UInt64 # (8 bytes)
@exception_cleanup : UInt64 # (8 bytes)
@private1 : UInt64 # (8 bytes)
@private2 : UInt64 # (8 bytes)
@exception_object : Pointer(Void) # (8 bytes)
@exception_type_id : Int32 # (4 bytes)
end
struct Crystal::DWARF::Abbrev::Attribute # Crystal::NonGenericClassType
@at : Crystal::DWARF::AT # (4 bytes)
@form : Crystal::DWARF::FORM # (4 bytes)
end
struct Crystal::DWARF::Abbrev # Crystal::NonGenericClassType
@code : UInt32 # (4 bytes)
@tag : Crystal::DWARF::TAG # (4 bytes)
@attributes : Array(Crystal::DWARF::Abbrev::Attribute) # (8 bytes)
@children : Bool # (0 bytes)
end
struct Crystal::DWARF::Info # Crystal::NonGenericClassType
@unit_length : (UInt32 | UInt64) # (16 bytes)
@version : UInt16 # ( 2 bytes)
@debug_abbrev_offset : (UInt32 | UInt64) # (16 bytes)
@address_size : UInt8 # ( 1 bytes)
@abbreviations : (Array(Crystal::DWARF::Abbrev) | Nil) # ( 8 bytes)
@dwarf64 : Bool # ( 0 bytes)
@offset : Int64 # ( 8 bytes)
@ref_offset : Int64 # ( 8 bytes)
@io : IO::FileDescriptor+ # ( 8 bytes)
end
struct Crystal::DWARF::LineNumbers::Register # Crystal::NonGenericClassType
@address : UInt64 # (8 bytes)
@op_index : UInt32 # (4 bytes)
@file : UInt32 # (4 bytes)
@line : UInt32 # (4 bytes)
@column : UInt32 # (4 bytes)
@is_stmt : Bool # (0 bytes)
@basic_block : Bool # (0 bytes)
@end_sequence : Bool # (0 bytes)
@prologue_end : Bool # (0 bytes)
@epilogue_begin : Bool # (0 bytes)
@isa : UInt32 # (4 bytes)
@discriminator : UInt32 # (4 bytes)
end
struct Crystal::DWARF::LineNumbers::Row # Crystal::NonGenericClassType
@address : UInt64 # (8 bytes)
@op_index : UInt32 # (4 bytes)
@directory : String # (8 bytes)
@file : String # (8 bytes)
@line : Int32 # (4 bytes)
@column : Int32 # (4 bytes)
@end_sequence : Bool # (0 bytes)
end
struct Crystal::DWARF::LineNumbers::Sequence # Crystal::NonGenericClassType
@offset : (Int64 | Nil) # (16 bytes)
@unit_length : (UInt32 | Nil) # (16 bytes)
@version : (UInt16 | Nil) # (16 bytes)
@header_length : (UInt32 | Nil) # (16 bytes)
@minimum_instruction_length : (UInt8 | Nil) # (16 bytes)
@maximum_operations_per_instruction : UInt8 # ( 1 bytes)
@default_is_stmt : (Bool | Nil) # (16 bytes)
@line_base : (Int8 | Nil) # (16 bytes)
@line_range : (UInt8 | Nil) # (16 bytes)
@opcode_base : (UInt8 | Nil) # (16 bytes)
@include_directories : Array(String) # ( 8 bytes)
@file_names : Array(Tuple(String, Int32, Int32, Int32)) # ( 8 bytes)
@standard_opcode_lengths : Array(UInt8) # ( 8 bytes)
end
struct Crystal::DWARF::LineNumbers # Crystal::NonGenericClassType
@matrix : Array(Array(Crystal::DWARF::LineNumbers::Row)) # (8 bytes)
@offset : Int64 # (8 bytes)
@current_sequence_matrix : (Array(Crystal::DWARF::LineNumbers::Row) | Nil) # (8 bytes)
@io : IO::FileDescriptor+ # (8 bytes)
@base_address : UInt64 # (8 bytes)
end
struct Crystal::DWARF::Strings # Crystal::NonGenericClassType
@io : IO::FileDescriptor+ # ( 8 bytes)
@offset : (UInt32 | UInt64) # (16 bytes)
@buffer : Slice(UInt8) # (16 bytes)
end
struct Crystal::ELF::Ident # Crystal::NonGenericClassType
@klass : Crystal::ELF::Klass # (1 bytes)
@data : Crystal::ELF::Endianness # (4 bytes)
@version : UInt8 # (1 bytes)
@osabi : Crystal::ELF::OSABI # (1 bytes)
@abiversion : UInt8 # (1 bytes)
end
struct Crystal::ELF::SectionHeader # Crystal::NonGenericClassType
@name : (UInt32 | Nil) # (16 bytes)
@type : (Crystal::ELF::SectionHeader::Type | Nil) # (16 bytes)
@flags : (Crystal::ELF::SectionHeader::Flags | Nil) # (16 bytes)
@addr : (UInt32 | UInt64 | Nil) # (16 bytes)
@offset : (UInt32 | UInt64 | Nil) # (16 bytes)
@size : (UInt32 | UInt64 | Nil) # (16 bytes)
@link : (UInt32 | Nil) # (16 bytes)
@info : (UInt32 | Nil) # (16 bytes)
@addralign : (UInt32 | UInt64 | Nil) # (16 bytes)
@entsize : (UInt32 | UInt64 | Nil) # (16 bytes)
end
struct Crystal::ELF # Crystal::NonGenericClassType
@ident : (Crystal::ELF::Ident | Nil) # (24 bytes)
@type : (Crystal::ELF::Type | Nil) # (16 bytes)
@machine : (Crystal::ELF::Machine | Nil) # (16 bytes)
@version : (UInt32 | Nil) # (16 bytes)
@entry : (UInt32 | UInt64 | Nil) # (16 bytes)
@phoff : (UInt32 | UInt64 | Nil) # (16 bytes)
@shoff : (UInt32 | UInt64 | Nil) # (16 bytes)
@flags : (UInt32 | Nil) # (16 bytes)
@ehsize : (UInt16 | Nil) # (16 bytes)
@phentsize : (UInt16 | Nil) # (16 bytes)
@phnum : (UInt16 | Nil) # (16 bytes)
@shentsize : (UInt16 | Nil) # (16 bytes)
@shnum : (UInt16 | Nil) # (16 bytes)
@shstrndx : (UInt16 | Nil) # (16 bytes)
@io : IO::FileDescriptor+ # ( 8 bytes)
@sections : (Array(Crystal::ELF::SectionHeader) | Nil) # ( 8 bytes)
end
struct LibC::Elf_Phdr # Crystal::NonGenericClassType
@type : UInt32 # (4 bytes)
@flags : UInt32 # (4 bytes)
@offset : UInt64 # (8 bytes)
@vaddr : UInt64 # (8 bytes)
@paddr : UInt64 # (8 bytes)
@filesz : UInt64 # (8 bytes)
@memsz : UInt64 # (8 bytes)
@align : UInt64 # (8 bytes)
end
struct LibC::DlPhdrInfo # Crystal::NonGenericClassType
@addr : UInt64 # (8 bytes)
@name : Pointer(UInt8) # (8 bytes)
@phdr : Pointer(LibC::Elf_Phdr) # (8 bytes)
@phnum : UInt16 # (2 bytes)
end
struct Exception::CallStack # Crystal::NonGenericClassType
@callstack : Array(Pointer(Void)) # (8 bytes)
@backtrace : (Array(String) | Nil) # (8 bytes)
end
struct Exception::CallStack::RepeatedFrame # Crystal::NonGenericClassType
@ip : Pointer(Void) # (8 bytes)
@count : Int32 # (4 bytes)
end
struct Enumerable::Chunk::Drop # Crystal::NonGenericClassType
end
struct Enumerable::Chunk::Alone # Crystal::NonGenericClassType
end
struct Enumerable::Chunk::Accumulator(T, U) # Crystal::GenericClassType
@data : Array(T)
@reuse : Bool # (0 bytes)
@key : U
@initialized : Bool # (0 bytes)
end
struct Enumerable::Reflect(X) # Crystal::GenericClassType
end
struct Iterator::Singleton(T) # Crystal::GenericClassType
include Iterator(T)
@element : T
end
struct Iterator::SingletonProc(T) # Crystal::GenericClassType
include Iterator(T)
@proc : (Proc((Iterator::Stop | T)) | Proc(T))
end
struct Iterator::CompactMap(I, T, U) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(U)
@iterator : I
@func : Proc(T, (U | Nil))
end
struct Iterator::Cons(I, T, N, V) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(Array(T))
@iterator : I
@n : N
@values : V
@reuse : Bool # (0 bytes)
end
struct Iterator::ConsTuple(I, T) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(Tuple(T, T))
@last_elem : (Iterator::Stop | T)
@iterator : I
end
struct Iterator::Cycle(I, T) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@values : Array(T)
@use_values : Bool # (0 bytes)
@index : Int32 # (4 bytes)
end
struct Iterator::Flatten(I, T) # Crystal::GenericClassType
include Iterator(T)
@iterator : I
@stopped : Array(I)
@generators : Array(I)
end
struct Iterator::InGroupsOf(I, T, N, U) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(Array(T | U))
@reuse : (Array(T | U) | Nil)
@iterator : I
@size : N
@filled_up_with : U
end
struct Iterator::Map(I, T, U) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(U)
@iterator : I
@func : Proc(T, U)
end
struct Iterator::Reject(I, T, B) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@func : Proc(T, B)
end
struct Iterator::Select(I, T, B) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@func : Proc(T, B)
end
struct Iterator::SelectType(I, T) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
end
struct Iterator::Slice(I, T, N) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(Array(T))
@reuse : (Array(T) | Nil)
@iterator : I
@n : N
end
struct Iterator::Step(I, T, N) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@by : N
end
struct Iterator::Tap(I, T) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@proc : Proc(T, Nil)
end
struct Iterator::Uniq(I, T, U) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(T)
@iterator : I
@func : Proc(T, U)
@hash : Hash(U, Bool)
end
struct Iterator::WithObject(I, T, O) # Crystal::GenericClassType
include Iterator::IteratorWrapper
include Iterator(Tuple(T, O))
@iterator : I
@object : O
end
struct Iterator::Zip(Is, Ts) # Crystal::GenericClassType
include Iterator(Ts)
@iterators : Is
end
struct LibC::Tm # Crystal::NonGenericClassType
@tm_sec : Int32 # (4 bytes)
@tm_min : Int32 # (4 bytes)
@tm_hour : Int32 # (4 bytes)
@tm_mday : Int32 # (4 bytes)
@tm_mon : Int32 # (4 bytes)
@tm_year : Int32 # (4 bytes)
@tm_wday : Int32 # (4 bytes)
@tm_yday : Int32 # (4 bytes)
@tm_isdst : Int32 # (4 bytes)
@tm_gmtoff : Int64 # (8 bytes)
@tm_zone : Pointer(UInt8) # (8 bytes)
end
struct LibC::Timespec # Crystal::NonGenericClassType
@tv_sec : Int64 # (8 bytes)
@tv_nsec : Int64 # (8 bytes)
end
struct LibC::SigsetT # Crystal::NonGenericClassType
@val : StaticArray(UInt64, 16) # (128 bytes)
end
struct LibC::SiginfoT # Crystal::NonGenericClassType
@si_signo : Int32 # ( 4 bytes)
@si_errno : Int32 # ( 4 bytes)
@si_code : Int32 # ( 4 bytes)
@__pad0 : Int32 # ( 4 bytes)
@si_addr : Pointer(Void) # ( 8 bytes)
@__pad1 : StaticArray(Int32, 20) # (80 bytes)
end
struct LibC::Sigaction # Crystal::NonGenericClassType
@sa_sigaction : Proc(Int32, Pointer(LibC::SiginfoT), Pointer(Void), Nil) # ( 16 bytes)
@sa_mask : LibC::SigsetT # (128 bytes)
@sa_flags : Int32 # ( 4 bytes)
@sa_restorer : Pointer(Void) # ( 8 bytes)
end
struct LibC::StackT # Crystal::NonGenericClassType
@ss_sp : Pointer(Void) # (8 bytes)
@ss_flags : Int32 # (4 bytes)
@ss_size : UInt64 # (8 bytes)
end
struct LibC::DivT # Crystal::NonGenericClassType
@quot : Int32 # (4 bytes)
@rem : Int32 # (4 bytes)
end
struct Crystal::Iconv # Crystal::NonGenericClassType
@skip_invalid : Bool # (0 bytes)
@iconv : LibC::IconvT # (8 bytes)
end
struct String::ToU64Info # Crystal::NonGenericClassType
@value : UInt64 # (8 bytes)
@negative : Bool # (0 bytes)
@invalid : Bool # (0 bytes)
end
struct IO::LineIterator(I, A, N) # Crystal::GenericClassType
include Iterator(String)
@io : I
@args : A
@nargs : N
end
struct IO::CharIterator(I) # Crystal::GenericClassType
include Iterator(Char)
@io : I
end
struct IO::ByteIterator(I) # Crystal::GenericClassType
include Iterator(UInt8)
@io : I
end
struct LibC::Termios # Crystal::NonGenericClassType
@c_iflag : UInt32 # ( 4 bytes)
@c_oflag : UInt32 # ( 4 bytes)
@c_cflag : UInt32 # ( 4 bytes)
@c_lflag : UInt32 # ( 4 bytes)
@c_line : UInt8 # ( 1 bytes)
@c_cc : StaticArray(UInt8, 32) # (32 bytes)
@c_ispeed : UInt32 # ( 4 bytes)
@c_ospeed : UInt32 # ( 4 bytes)
end
struct IO::EncodingOptions # Crystal::NonGenericClassType
@name : String # ( 8 bytes)
@invalid : (Symbol | Nil) # (16 bytes)
end
struct Crystal::ThreadLocalValue(T) # Crystal::GenericClassType
@values : Hash(Thread, T)
@mutex : Crystal::SpinLock # (8 bytes)
end
struct LibC::Stat # Crystal::NonGenericClassType
@st_dev : UInt64 # ( 8 bytes)
@st_ino : UInt64 # ( 8 bytes)
@st_nlink : UInt64 # ( 8 bytes)
@st_mode : UInt32 # ( 4 bytes)
@st_uid : UInt32 # ( 4 bytes)
@st_gid : UInt32 # ( 4 bytes)
@__pad0 : Int32 # ( 4 bytes)
@st_rdev : UInt64 # ( 8 bytes)
@st_size : Int64 # ( 8 bytes)
@st_blksize : Int64 # ( 8 bytes)
@st_blocks : Int64 # ( 8 bytes)
@st_atim : LibC::Timespec # (16 bytes)
@st_mtim : LibC::Timespec # (16 bytes)
@st_ctim : LibC::Timespec # (16 bytes)
@__glibc_reserved : StaticArray(Int64, 3) # (24 bytes)
end
struct LibC::Flock # Crystal::NonGenericClassType
@l_type : Int16 # (2 bytes)
@l_whence : Int16 # (2 bytes)
@l_start : Int64 # (8 bytes)
@l_len : Int64 # (8 bytes)
@l_pid : Int32 # (4 bytes)
end
struct String::Formatter::Flags # Crystal::NonGenericClassType
@space : Bool # ( 0 bytes)
@sharp : Bool # ( 0 bytes)
@plus : Bool # ( 0 bytes)
@minus : Bool # ( 0 bytes)
@zero : Bool # ( 0 bytes)
@base : Int32 # ( 4 bytes)
@width : Int32 # ( 4 bytes)
@width_size : Int32 # ( 4 bytes)
@type : Char # ( 4 bytes)
@precision : (Int32 | Nil) # (16 bytes)
@precision_size : Int32 # ( 4 bytes)
end
struct String::Formatter(A) # Crystal::GenericClassType
@format_buf : (Pointer(UInt8) | Nil) # (16 bytes)
@temp_buf : (Pointer(UInt8) | Nil) # (16 bytes)
@args : A
@io : IO+ # ( 8 bytes)
@reader : Char::Reader # (48 bytes)
@arg_index : Int32 # ( 4 bytes)
@temp_buf_len : Int32 # ( 4 bytes)
@format_buf_len : Int32 # ( 4 bytes)
end
struct Array::FlattenHelper(T) # Crystal::GenericClassType
end
struct Atomic(T) # Crystal::GenericClassType
@value : T
end
struct Atomic::Flag # Crystal::NonGenericClassType
@value : UInt8 # (1 bytes)
end
struct Char::Reader # Crystal::NonGenericClassType
include Enumerable(Char)
@string : String # ( 8 bytes)
@current_char : Char # ( 4 bytes)
@current_char_width : Int32 # ( 4 bytes)
@pos : Int32 # ( 4 bytes)
@error : (UInt8 | Nil) # (16 bytes)
@end : Bool # ( 0 bytes)
end
struct Fiber::Context # Crystal::NonGenericClassType
@stack_top : Pointer(Void) # (8 bytes)
@resumable : Int64 # (8 bytes)
end
struct Crystal::PointerLinkedList(T) # Crystal::GenericClassType
@head : Pointer(T)
end
struct Channel::NotReady # Crystal::NonGenericClassType
end
struct Channel::UseDefault # Crystal::NonGenericClassType
end
module Channel::SenderReceiverCloseAction # Crystal::NonGenericModuleType
end
module Crystal::PointerLinkedList::Node # Crystal::NonGenericModuleType
end
struct Channel::Sender(T) # Crystal::GenericClassType
include Channel::SenderReceiverCloseAction
include Crystal::PointerLinkedList::Node
@previous : Pointer(Channel::Sender(T))
@next : Pointer(Channel::Sender(T))
@fiber : Fiber # (8 bytes)
@data : T
@state : Channel::DeliveryState # (4 bytes)
@select_context : (Channel::SelectContext(Nil) | Nil) # (8 bytes)
end
struct Channel::Receiver(T) # Crystal::GenericClassType
include Channel::SenderReceiverCloseAction
include Crystal::PointerLinkedList::Node
@previous : Pointer(Channel::Receiver(T))
@next : Pointer(Channel::Receiver(T))
@fiber : Fiber # (8 bytes)
@data : T
@state : Channel::DeliveryState # (4 bytes)
@select_context : (Channel::SelectContext(T) | Nil)
end
struct Crystal::Event # Crystal::NonGenericClassType
@event : LibEvent2::Event # (8 bytes)
@freed : Bool # (0 bytes)
end
struct LibC::Sockaddr # Crystal::NonGenericClassType
@sa_family : UInt16 # ( 2 bytes)
@sa_data : StaticArray(UInt8, 14) # (14 bytes)
end
struct LibC::SockaddrStorage # Crystal::NonGenericClassType
@ss_family : UInt16 # ( 2 bytes)
@__ss_align : UInt64 # ( 8 bytes)
@__ss_padding : StaticArray(UInt8, 112) # (112 bytes)
end
struct LibC::Linger # Crystal::NonGenericClassType
@l_onoff : Int32 # (4 bytes)
@l_linger : Int32 # (4 bytes)
end
struct LibC::InAddr # Crystal::NonGenericClassType
@s_addr : UInt32 # (4 bytes)
end
union LibC::In6AddrIn6U # Crystal::NonGenericClassType
@__u6_addr8 : StaticArray(UInt8, 16) # (16 bytes)
@__u6_addr16 : StaticArray(UInt16, 8) # (16 bytes)
@__u6_addr32 : StaticArray(UInt32, 4) # (16 bytes)
end
struct LibC::In6Addr # Crystal::NonGenericClassType
@__in6_u : LibC::In6AddrIn6U # (16 bytes)
end
struct LibC::SockaddrIn # Crystal::NonGenericClassType
@sin_family : UInt16 # (2 bytes)
@sin_port : UInt16 # (2 bytes)
@sin_addr : LibC::InAddr # (4 bytes)
@sin_zero : StaticArray(UInt8, 8) # (8 bytes)
end
struct LibC::SockaddrIn6 # Crystal::NonGenericClassType
@sin6_family : UInt16 # ( 2 bytes)
@sin6_port : UInt16 # ( 2 bytes)
@sin6_flowinfo : UInt32 # ( 4 bytes)
@sin6_addr : LibC::In6Addr # (16 bytes)
@sin6_scope_id : UInt32 # ( 4 bytes)
end
struct LibC::IpMreq # Crystal::NonGenericClassType
@imr_multiaddr : LibC::InAddr # (4 bytes)
@imr_interface : LibC::InAddr # (4 bytes)
end
struct LibC::Ipv6Mreq # Crystal::NonGenericClassType
@ipv6mr_multiaddr : LibC::In6Addr # (16 bytes)
@ipv6mr_interface : UInt32 # ( 4 bytes)
end
struct LibC::Addrinfo # Crystal::NonGenericClassType
@ai_flags : Int32 # (4 bytes)
@ai_family : Int32 # (4 bytes)
@ai_socktype : Int32 # (4 bytes)
@ai_protocol : Int32 # (4 bytes)
@ai_addrlen : UInt32 # (4 bytes)
@ai_addr : Pointer(LibC::Sockaddr) # (8 bytes)
@ai_canonname : Pointer(UInt8) # (8 bytes)
@ai_next : Pointer(LibC::Addrinfo) # (8 bytes)
end
struct Crystal::Event::Base # Crystal::NonGenericClassType
@base : LibEvent2::EventBase # (8 bytes)
end
struct Crystal::Event::DnsBase::GetAddrInfoRequest # Crystal::NonGenericClassType
@request : LibEvent2::DnsGetAddrinfoRequest # (8 bytes)
end
struct Crystal::Event::DnsBase # Crystal::NonGenericClassType
@dns_base : LibEvent2::DnsBase # (8 bytes)
end
struct Crystal::FiberChannel # Crystal::NonGenericClassType
@worker_in : IO::FileDescriptor+ # (8 bytes)
@worker_out : IO::FileDescriptor+ # (8 bytes)
end
struct Crystal::System::Dir::Entry # Crystal::NonGenericClassType
@name : String # ( 8 bytes)
@dir : (Bool | Nil) # (16 bytes)
end
struct LibC::Dirent # Crystal::NonGenericClassType
@d_ino : UInt64 # ( 8 bytes)
@d_off : Int64 # ( 8 bytes)
@d_reclen : UInt16 # ( 2 bytes)
@d_type : UInt8 # ( 1 bytes)
@d_name : StaticArray(UInt8, 256) # (256 bytes)
end
struct Dir::EntryIterator # Crystal::NonGenericClassType
include Iterator(String)
@dir : Dir # (8 bytes)
end
struct Dir::ChildIterator # Crystal::NonGenericClassType
include Iterator(String)
@dir : Dir # (8 bytes)
end
struct Dir::Globber::DirectoriesOnly # Crystal::NonGenericClassType
end
struct Dir::Globber::ConstantEntry # Crystal::NonGenericClassType
@path : String # (8 bytes)
end
struct Dir::Globber::EntryMatch # Crystal::NonGenericClassType
@pattern : String # (8 bytes)
end
struct Dir::Globber::RecursiveDirectories # Crystal::NonGenericClassType
end
struct Dir::Globber::ConstantDirectory # Crystal::NonGenericClassType
@path : String # (8 bytes)
end
struct Dir::Globber::RootDirectory # Crystal::NonGenericClassType
end
struct Dir::Globber::DirectoryMatch # Crystal::NonGenericClassType
@pattern : String # (8 bytes)
end
struct File::Info # Crystal::NonGenericClassType
end
struct Crystal::System::FileInfo < File::Info # Crystal::NonGenericClassType
@stat : LibC::Stat # (144 bytes)
end
struct Float::Printer::CachedPowers::Power # Crystal::NonGenericClassType
@significand : UInt64 # (8 bytes)
@binary_exp : Int16 # (2 bytes)
@decimal_exp : Int16 # (2 bytes)
end
struct Float::Printer::DiyFP # Crystal::NonGenericClassType
@frac : UInt64 # (8 bytes)
@exp : Int32 # (4 bytes)
end
struct GC::Stats # Crystal::NonGenericClassType
@heap_size : UInt64 # (8 bytes)
@free_bytes : UInt64 # (8 bytes)
@unmapped_bytes : UInt64 # (8 bytes)
@bytes_since_gc : UInt64 # (8 bytes)
@total_bytes : UInt64 # (8 bytes)
end
struct GC::ProfStats # Crystal::NonGenericClassType
@heap_size : UInt64 # (8 bytes)
@free_bytes : UInt64 # (8 bytes)
@unmapped_bytes : UInt64 # (8 bytes)
@bytes_since_gc : UInt64 # (8 bytes)
@bytes_before_gc : UInt64 # (8 bytes)
@non_gc_bytes : UInt64 # (8 bytes)
@gc_no : UInt64 # (8 bytes)
@markers_m1 : UInt64 # (8 bytes)
@bytes_reclaimed_since_gc : UInt64 # (8 bytes)
@reclaimed_bytes_before_gc : UInt64 # (8 bytes)
end
struct LibGC::StackBase # Crystal::NonGenericClassType
@mem_base : Pointer(Void) # (8 bytes)
end
struct LibGC::ProfStats # Crystal::NonGenericClassType
@heap_size : UInt64 # (8 bytes)
@free_bytes : UInt64 # (8 bytes)
@unmapped_bytes : UInt64 # (8 bytes)
@bytes_since_gc : UInt64 # (8 bytes)
@bytes_before_gc : UInt64 # (8 bytes)
@non_gc_bytes : UInt64 # (8 bytes)
@gc_no : UInt64 # (8 bytes)
@markers_m1 : UInt64 # (8 bytes)
@bytes_reclaimed_since_gc : UInt64 # (8 bytes)
@reclaimed_bytes_before_gc : UInt64 # (8 bytes)
end
struct Crystal::Hasher # Crystal::NonGenericClassType
@a : UInt64 # (8 bytes)
@b : UInt64 # (8 bytes)
end
struct Hash::Entry(K, V) # Crystal::GenericClassType
@hash : UInt32 # (4 bytes)
@key : K
@value : V
end
struct Path # Crystal::NonGenericClassType
include Comparable(Path)
@name : String # (8 bytes)
@kind : Path::Kind # (1 bytes)
end
struct Pointer::Appender(T) # Crystal::GenericClassType
@pointer : Pointer(T)
@start : Pointer(T)
end
struct Process::Tms # Crystal::NonGenericClassType
@utime : Float64 # (8 bytes)
@stime : Float64 # (8 bytes)
@cutime : Float64 # (8 bytes)
@cstime : Float64 # (8 bytes)
end
struct Crystal::System::Process # Crystal::NonGenericClassType
@pid : Int32 # (4 bytes)
@channel : Channel(Int32) # (8 bytes)
end
struct LibC::RUsage # Crystal::NonGenericClassType
@ru_utime : LibC::Timeval # (16 bytes)
@ru_stime : LibC::Timeval # (16 bytes)
@ru_maxrss : Int64 # ( 8 bytes)
@ru_ix_rss : Int64 # ( 8 bytes)
@ru_idrss : Int64 # ( 8 bytes)
@ru_isrss : Int64 # ( 8 bytes)
@ru_minflt : Int64 # ( 8 bytes)
@ru_majflt : Int64 # ( 8 bytes)
@ru_nswap : Int64 # ( 8 bytes)
@ru_inblock : Int64 # ( 8 bytes)
@ru_oublock : Int64 # ( 8 bytes)
@ru_msgsnd : Int64 # ( 8 bytes)
@ru_msgrcv : Int64 # ( 8 bytes)
@ru_nsignals : Int64 # ( 8 bytes)
@ru_nvcsw : Int64 # ( 8 bytes)
@ru_nivcsw : Int64 # ( 8 bytes)
end
struct LEBReader # Crystal::NonGenericClassType
@data : Pointer(UInt8) # (8 bytes)
end
struct Regex::MatchData # Crystal::NonGenericClassType
@regex : Regex # (8 bytes)
@group_size : Int32 # (4 bytes)
@string : String # (8 bytes)
@code : LibPCRE::Pcre # (8 bytes)
@pos : Int32 # (4 bytes)
@ovector : Pointer(Int32) # (8 bytes)
end
struct Set(T) # Crystal::GenericClassType
include Iterable(T)
include Enumerable(T)
@hash : Hash(T, Nil)
end
struct Slice(T) # Crystal::GenericClassType
include Comparable(Slice(T))
include Indexable(T)
@size : Int32 # (4 bytes)
@read_only : Bool # (0 bytes)
@pointer : Pointer(T)
end
struct LibC::Timeval # Crystal::NonGenericClassType
@tv_sec : Int64 # (8 bytes)
@tv_usec : Int64 # (8 bytes)
end
struct LibC::Timezone # Crystal::NonGenericClassType
@tz_minuteswest : Int32 # (4 bytes)
@tz_dsttime : Int32 # (4 bytes)
end
struct Time # Crystal::NonGenericClassType
include Steppable
include Comparable(Time)
@seconds : Int64 # (8 bytes)
@nanoseconds : Int32 # (4 bytes)
@location : Time::Location # (8 bytes)
end
struct Time::Format # Crystal::NonGenericClassType
@pattern : String # (8 bytes)
@location : (Time::Location | Nil) # (8 bytes)
end
module Time::Format::Pattern # Crystal::NonGenericModuleType
end
struct Time::Format::Formatter # Crystal::NonGenericClassType
include Time::Format::Pattern
@io : IO+ # ( 8 bytes)
@time : Time # (24 bytes)
end
struct Time::Format::Parser # Crystal::NonGenericClassType
include Time::Format::Pattern
@unix_seconds : (Int64 | Nil) # (16 bytes)
@location : (Time::Location | Nil) # ( 8 bytes)
@calendar_week_week : (Int32 | Nil) # (16 bytes)
@calendar_week_year : (Int32 | Nil) # (16 bytes)
@day_of_week : (Time::DayOfWeek | Nil) # (16 bytes)
@reader : Char::Reader # (48 bytes)
@year : Int32 # ( 4 bytes)
@month : Int32 # ( 4 bytes)
@day : Int32 # ( 4 bytes)
@hour : Int32 # ( 4 bytes)
@minute : Int32 # ( 4 bytes)
@second : Int32 # ( 4 bytes)
@nanosecond : Int32 # ( 4 bytes)
@pm : Bool # ( 0 bytes)
@hour_is_12 : Bool # ( 0 bytes)
@nanosecond_offset : Int64 # ( 8 bytes)
end
struct Time::Location::Zone # Crystal::NonGenericClassType
@offset : Int32 # (4 bytes)
@dst : Bool # (0 bytes)
@name : (String | Nil) # (8 bytes)
end
struct Time::Location::ZoneTransition # Crystal::NonGenericClassType
@when : Int64 # (8 bytes)
@index : UInt8 # (1 bytes)
@standard : Bool # (0 bytes)
@utc : Bool # (0 bytes)
end
struct Time::Span # Crystal::NonGenericClassType
include Steppable
include Comparable(Time::Span)
@seconds : Int64 # (8 bytes)
@nanoseconds : Int32 # (4 bytes)
end
struct Time::MonthSpan # Crystal::NonGenericClassType
@value : Int64 # (8 bytes)
end
struct LibC::VaListTag # Crystal::NonGenericClassType
@gp_offset : UInt32 # (4 bytes)
@fp_offset : UInt32 # (4 bytes)
@overflow_arg_area : Pointer(Void) # (8 bytes)
@reg_save_area : Pointer(Void) # (8 bytes)
end
struct VaList # Crystal::NonGenericClassType
@to_unsafe : LibC::VaList # (24 bytes)
end
struct Enum # Crystal::NonGenericClassType
include Comparable(Enum)
end
struct Proc(*T, R) # Crystal::ProcType
end
struct Union(*T) # Crystal::GenericUnionType
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment