Class: Rubydex::Class

Inherits:
Namespace show all
Includes:
Visibility
Defined in:
lib/rubydex/declaration.rb,
ext/rubydex/declaration.c

Instance Method Summary collapse

Methods included from Visibility

#private?, #protected?, #public?

Methods inherited from Namespace

#ancestors, #descendants, #find_member, #has_ancestor?, #member, #members, #references, #singleton_class

Methods inherited from Declaration

#definitions, #initialize, #name, #owner, #references, #unqualified_name

Constructor Details

This class inherits a constructor from Rubydex::Declaration

Instance Method Details

#visibilitySymbol

Returns the declaration visibility.

Returns:

  • (Symbol)


435
436
437
438
439
440
441
442
443
444
445
446
447
448
# File 'ext/rubydex/declaration.c', line 435

static VALUE rdxr_declaration_visibility(VALUE self) {
    HandleData *data;
    void *graph = rdxi_graph_from_handle(self, &data);

    const CVisibility *visibility = rdx_graph_visibility(graph, data->id);
    if (visibility == NULL) {
        rb_raise(rb_eRuntimeError, "declaration has no visibility");
    }

    VALUE symbol = rdxi_visibility_to_symbol(*visibility);
    free_c_visibility(visibility);

    return symbol;
}