class Rubydex::Constant
Public Instance Methods
static VALUE rdxr_constant_declaration_references(VALUE self) {
if (!rb_block_given_p()) {
return rb_enumeratorize_with_size(self, rb_str_new2("references"), 0, NULL,
constant_declaration_references_size);
}
HandleData *data;
void *graph = rdxi_graph_from_handle(self, &data);
void *iter = rdx_declaration_constant_references_iter_new(graph, data->id);
if (iter == NULL) {
rb_raise(rb_eRuntimeError, "Declaration not found");
}
VALUE args = rb_ary_new_from_args(2, data->graph_obj, ULL2NUM((uintptr_t)iter));
rb_ensure(rdxi_constant_references_yield, args, rdxi_constant_references_ensure, args);
return self;
}
Returns an enumerator that yields constant references to this declaration.
Source
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;
}
Returns the declaration visibility.