rbs 3.5.0 → 3.5.1.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/rbs_extension/location.c +5 -4
- data/ext/rbs_extension/location.h +4 -2
- data/lib/rbs/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15842c05830277f680d570af8724cfe962c63c1188e125b899904d43633a013c
|
4
|
+
data.tar.gz: 4676d5718267865fb19c432a15769c1b8a0f1ca41efc28da0be3fec59abc8fc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d23e68eb43cdc67695fb289a052c0580be90859211fca4580497dea2ad9a88ad76730a74c054d54ccfd0805a3b49032db611af1c66739f36b6ea2b1a82e7bc0
|
7
|
+
data.tar.gz: a0f1246404e79a4b7e49f56d460edc57271846249ee5fc0548525727e4850f2c0cdd733e06a5034ddff4af3f1ea0e226880efe68f4000f19406073365f87a8fc
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
#define RBS_LOC_REQUIRED_P(loc, i) ((loc)->children->required_p & (1 << (i)))
|
4
4
|
#define RBS_LOC_OPTIONAL_P(loc, i) (!RBS_LOC_REQUIRED_P((loc), (i)))
|
5
|
+
#define RBS_LOC_CHILDREN_SIZE(cap) (sizeof(rbs_loc_children) + sizeof(rbs_loc_entry) * ((cap) - 1))
|
5
6
|
|
6
7
|
VALUE RBS_Location;
|
7
8
|
|
@@ -25,7 +26,7 @@ static void check_children_max(unsigned short n) {
|
|
25
26
|
void rbs_loc_alloc_children(rbs_loc *loc, unsigned short cap) {
|
26
27
|
check_children_max(cap);
|
27
28
|
|
28
|
-
size_t s =
|
29
|
+
size_t s = RBS_LOC_CHILDREN_SIZE(cap);
|
29
30
|
loc->children = malloc(s);
|
30
31
|
|
31
32
|
loc->children->len = 0;
|
@@ -39,7 +40,7 @@ static void check_children_cap(rbs_loc *loc) {
|
|
39
40
|
} else {
|
40
41
|
if (loc->children->len == loc->children->cap) {
|
41
42
|
check_children_max(loc->children->cap + 1);
|
42
|
-
size_t s =
|
43
|
+
size_t s = RBS_LOC_CHILDREN_SIZE(++loc->children->cap);
|
43
44
|
loc->children = realloc(loc->children, s);
|
44
45
|
}
|
45
46
|
}
|
@@ -85,7 +86,7 @@ static size_t rbs_loc_memsize(const void *ptr) {
|
|
85
86
|
if (loc->children == NULL) {
|
86
87
|
return sizeof(rbs_loc);
|
87
88
|
} else {
|
88
|
-
return sizeof(rbs_loc) +
|
89
|
+
return sizeof(rbs_loc) + RBS_LOC_CHILDREN_SIZE(loc->children->cap);
|
89
90
|
}
|
90
91
|
}
|
91
92
|
|
@@ -129,7 +130,7 @@ static VALUE location_initialize_copy(VALUE self, VALUE other) {
|
|
129
130
|
self_loc->rg = other_loc->rg;
|
130
131
|
if (other_loc->children != NULL) {
|
131
132
|
rbs_loc_alloc_children(self_loc, other_loc->children->cap);
|
132
|
-
memcpy(self_loc->children, other_loc->children,
|
133
|
+
memcpy(self_loc->children, other_loc->children, RBS_LOC_CHILDREN_SIZE(other_loc->children->cap));
|
133
134
|
}
|
134
135
|
|
135
136
|
return Qnil;
|
@@ -16,17 +16,19 @@ typedef struct {
|
|
16
16
|
|
17
17
|
typedef unsigned int rbs_loc_entry_bitmap;
|
18
18
|
|
19
|
+
// The flexible array always allocates, but it's okay.
|
20
|
+
// This struct is not allocated when the `rbs_loc` doesn't have children.
|
19
21
|
typedef struct {
|
20
22
|
unsigned short len;
|
21
23
|
unsigned short cap;
|
22
24
|
rbs_loc_entry_bitmap required_p;
|
23
|
-
rbs_loc_entry entries[
|
25
|
+
rbs_loc_entry entries[1];
|
24
26
|
} rbs_loc_children;
|
25
27
|
|
26
28
|
typedef struct {
|
27
29
|
VALUE buffer;
|
28
30
|
range rg;
|
29
|
-
rbs_loc_children *children;
|
31
|
+
rbs_loc_children *children; // NULL when no children is allocated
|
30
32
|
} rbs_loc;
|
31
33
|
|
32
34
|
/**
|
data/lib/rbs/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.5.
|
4
|
+
version: 3.5.1.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06-
|
11
|
+
date: 2024-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: RBS is the language for type signatures for Ruby and standard library
|
14
14
|
definitions.
|
@@ -513,7 +513,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
513
513
|
- !ruby/object:Gem::Version
|
514
514
|
version: '0'
|
515
515
|
requirements: []
|
516
|
-
rubygems_version: 3.5.
|
516
|
+
rubygems_version: 3.5.3
|
517
517
|
signing_key:
|
518
518
|
specification_version: 4
|
519
519
|
summary: Type signature for Ruby.
|