Sha256: 08056d04b781975c4453a073e8406c7e169adb832da0506a8d0055a6be393634
Contents?: true
Size: 1.59 KB
Versions: 3
Compression:
Stored size: 1.59 KB
Contents
#ifndef RBS_LOCATION_H #define RBS_LOCATION_H #include "ruby.h" #include "lexer.h" /** * RBS::Location class * */ extern VALUE RBS_Location; typedef struct { ID name; range rg; } rbs_loc_entry; typedef unsigned int rbs_loc_entry_bitmap; typedef struct { unsigned short len; unsigned short cap; rbs_loc_entry_bitmap required_p; rbs_loc_entry entries[0]; } rbs_loc_children; typedef struct { VALUE buffer; range rg; rbs_loc_children *children; } rbs_loc; /** * Returns new RBS::Location object, with given buffer and range. * */ VALUE rbs_new_location(VALUE buffer, range rg); /** * Return rbs_loc associated with the RBS::Location object. * */ rbs_loc *rbs_check_location(VALUE location); /** * Allocate memory for child locations. * * Do not call twice for the same location. * */ void rbs_loc_alloc_children(rbs_loc *loc, unsigned short cap); /** * Add a required child range with given name. * * Allocate memory for children with rbs_loc_alloc_children before calling this function. * */ void rbs_loc_add_required_child(rbs_loc *loc, ID name, range r); /** * Add an optional child range with given name. * * Allocate memory for children with rbs_loc_alloc_children before calling this function. * */ void rbs_loc_add_optional_child(rbs_loc *loc, ID name, range r); /** * Returns RBS::Location object with start/end positions. * * @param start_pos * @param end_pos * @return New RSS::Location object. * */ VALUE rbs_location_pp(VALUE buffer, const position *start_pos, const position *end_pos); /** * Define RBS::Location class. * */ void rbs__init_location(); #endif
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rbs-3.5.0 | ext/rbs_extension/location.h |
rbs-3.5.0.pre.2 | ext/rbs_extension/location.h |
rbs-3.5.0.pre.1 | ext/rbs_extension/location.h |