Class: LLDB::TypeMember

Inherits:
Object
  • Object
show all
Includes:
NativeLifecycle
Defined in:
lib/lldb/type_member.rb

Instance Method Summary collapse

Methods included from NativeLifecycle

#close, #closed?, #context, #context!, #ensure_open!, #initialize_native_object

Constructor Details

#initialize(ptr, context: nil) ⇒ TypeMember

Returns a new instance of TypeMember.

RBS:

  • context: Context?

  • return: void



11
12
13
14
15
16
17
# File 'lib/lldb/type_member.rb', line 11

def initialize(ptr, context: nil)
  initialize_native_object(
    ptr,
    release: ->(released) { FFIBindings.lldb_type_member_destroy(released) },
    context: context
  )
end

Instance Method Details

#bitfield_size_in_bitsObject

RBS:

  • return: Integer



56
57
58
59
60
# File 'lib/lldb/type_member.rb', line 56

def bitfield_size_in_bits
  return 0 unless valid?

  FFIBindings.lldb_type_member_get_bitfield_size_in_bits(@ptr)
end

#nameObject

RBS:

  • return: String?



25
26
27
28
29
# File 'lib/lldb/type_member.rb', line 25

def name
  return nil unless valid?

  FFIBindings.lldb_type_member_get_name(@ptr)
end

#offset_in_bitsObject

RBS:

  • return: Integer



49
50
51
52
53
# File 'lib/lldb/type_member.rb', line 49

def offset_in_bits
  return 0 unless valid?

  FFIBindings.lldb_type_member_get_offset_in_bits(@ptr)
end

#offset_in_bytesObject

RBS:

  • return: Integer



42
43
44
45
46
# File 'lib/lldb/type_member.rb', line 42

def offset_in_bytes
  return 0 unless valid?

  FFIBindings.lldb_type_member_get_offset_in_bytes(@ptr)
end

#to_ptrObject

RBS:

  • return: FFI::Pointer



63
64
65
# File 'lib/lldb/type_member.rb', line 63

def to_ptr
  @ptr
end

#typeObject

RBS:

  • return: Type?



32
33
34
35
36
37
38
39
# File 'lib/lldb/type_member.rb', line 32

def type
  return nil unless valid?

  ptr = FFIBindings.lldb_type_member_get_type(@ptr)
  return nil if ptr.nil? || ptr.null?

  Type.new(ptr, context: context)
end

#valid?Boolean

RBS:

  • return: bool

Returns:

  • (Boolean)


20
21
22
# File 'lib/lldb/type_member.rb', line 20

def valid?
  !@ptr.null? && FFIBindings.lldb_type_member_is_valid(@ptr) != 0
end