class Rubydex::ConstantReference
Public Instance Methods
Source
static VALUE rdxr_constant_reference_document(VALUE self) {
HandleData *data;
void *graph = rdxi_graph_from_handle(self, &data);
const uint64_t *uri_id = rdx_constant_reference_document(graph, data->id);
if (uri_id == NULL) {
rb_raise(rb_eRuntimeError, "Constant reference not found");
}
VALUE argv[] = {data->graph_obj, ULL2NUM(*uri_id)};
free_u64(uri_id);
return rb_class_new_instance(2, argv, cDocument);
}
Returns the document this constant reference belongs to.
Source
static VALUE rdxr_constant_reference_location(VALUE self) {
HandleData *data;
void *graph = rdxi_graph_from_handle(self, &data);
Location *loc = rdx_constant_reference_location(graph, data->id);
if (loc == NULL) {
rb_raise(rb_eRuntimeError, "Constant reference must exist for a valid id");
}
VALUE location = rdxi_build_location_value(loc);
rdx_location_free(loc);
return location;
}
Returns the source location for this constant reference.