kanayago 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +1 -1
- data/ext/kanayago/kanayago.c +6 -0
- data/lib/kanayago/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ac0fe43efe47ae452540f30e4ddbe1d953822a466f7f4e40bb91fb7841f8eabf
|
|
4
|
+
data.tar.gz: f8906e1292035a6d5f0f7b2e6ecba57da475537c7a13d6f46b901c4b0fb596d6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6a7889db76bd146a2f8fd4abdcee847780ee7b10fac3d3c4897d34a5b1b5ad19869386bb71ee785e5f1adba4a7f2bd06f70ec42a724ba925b5631c4d54ddc92b
|
|
7
|
+
data.tar.gz: 7fb7f40b6ae56f12edd6bc8bffdb51a9c9248205acba3067e7000d28784de545d74452b78d799a01247bbf41ba87a05bb6ca1fd3e0e28caae397dfe01860dc10
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.6.1]
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- Fix segmentation fault when parsing large Ruby files (e.g., Rails schema.rb)
|
|
14
|
+
- Add `RB_GC_GUARD` for `vast` and `vparser` to prevent garbage collection during AST traversal
|
|
15
|
+
- The AST data is owned by `vast`, so it must remain alive until traversal is complete
|
|
16
|
+
|
|
10
17
|
## [0.6.0]
|
|
11
18
|
|
|
12
19
|
### Added
|
data/README.md
CHANGED
data/ext/kanayago/kanayago.c
CHANGED
|
@@ -528,6 +528,12 @@ kanayago_parse(VALUE self, VALUE source)
|
|
|
528
528
|
rb_ast_t *ast = rb_ruby_ast_data_get(vast);
|
|
529
529
|
VALUE ast_node = ast_to_node_instance(ast->body.root);
|
|
530
530
|
|
|
531
|
+
/* Ensure vast and vparser are not garbage collected during AST processing.
|
|
532
|
+
* The AST data (ast->body.root) is owned by vast, so we need to
|
|
533
|
+
* keep vast alive until we're done traversing the AST. */
|
|
534
|
+
RB_GC_GUARD(vast);
|
|
535
|
+
RB_GC_GUARD(vparser);
|
|
536
|
+
|
|
531
537
|
// Get error_buffer from parser_params using accessor function
|
|
532
538
|
VALUE error_buffer = rb_ruby_parser_error_buffer_get(parser_params);
|
|
533
539
|
|
data/lib/kanayago/version.rb
CHANGED