1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
module FFI
class Enums
def initialize: () -> void
def <<: (Enum enum) -> void
def __map_symbol: (Symbol symbol) -> Integer?
def find: (Symbol query) -> Enum
end
class Enum
include DataConverter[Integer, Symbol | Integer, untyped]
attr_reader native_type: Type
attr_reader tag: Symbol?
def initialize: (Enumerable[Symbol | Integer], ?Symbol? tag, *untyped) -> void
| (Type native_type, Enumerable[Symbol | Integer], ?Symbol? tag, *untyped) -> void
def []: (Symbol query) -> Integer?
| (Integer query) -> Symbol?
def symbol_map: () -> Hash[Symbol, Integer]
alias to_h symbol_map
alias to_hash symbol_map
def symbols: () -> Array[Symbol]
def to_native: (Symbol | int value, untyped ctx) -> Integer
end
class Bitmask < Enum
def initialize: ...
def []: (*Symbol query) -> Integer
| (Array[Symbol] query) -> Integer
| (*Integer query) -> Array[Symbol]
| (Array[Integer] query) -> Array[Symbol]
def from_native: (Integer, untyped ctx) -> Array[Symbol | Integer]
def to_native: (Array[Symbol | int] value, untyped ctx) -> Integer
| ...
end
end
|