Resync YARP (#8036)

It got out of sync again. After this re-sync, it should happen
cherry-picking automatically.
This commit is contained in:
Jemma Issroff 2023-07-06 13:26:26 -04:00 committed by GitHub
parent 055f7219bc
commit 06c2d3e0a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
Notes: git 2023-07-06 17:26:46 +00:00
Merged-By: jemmaissroff
5 changed files with 44 additions and 29 deletions

View File

@ -44,6 +44,10 @@ module YARP
@length = length
end
def inspect
"#<YARP::Location @start_offset=#{@start_offset} @length=#{@length}>"
end
# The source code that this location represents.
def slice
source.slice(start_offset, length)

View File

@ -36,6 +36,8 @@ $DEBUG
$FILENAME
$0
$-0
$LOADED_FEATURES
@ -80,6 +82,8 @@ $-K
:$FILENAME
:$0
:$-0
:$LOADED_FEATURES

View File

@ -42,6 +42,11 @@ class ParseTest < Test::Unit::TestCase
end
end
def test_parse_dollar0
parsed_result = YARP.parse("$0", "-e")
assert_equal 2, parsed_result.value.location.length
end
def test_parse_takes_file_path
filepath = "filepath.rb"
parsed_result = YARP.parse("def foo; __FILE__; end", filepath)

View File

@ -1,6 +1,6 @@
ProgramNode(0...340)(
ProgramNode(0...349)(
[],
StatementsNode(0...340)(
StatementsNode(0...349)(
[GlobalVariableReadNode(0...16)(),
GlobalVariableReadNode(18...20)(),
GlobalVariableReadNode(22...25)(),
@ -20,31 +20,33 @@ ProgramNode(0...340)(
GlobalVariableReadNode(101...103)(),
GlobalVariableReadNode(105...111)(),
GlobalVariableReadNode(113...122)(),
GlobalVariableReadNode(124...127)(),
GlobalVariableReadNode(129...145)(),
GlobalVariableReadNode(147...155)(),
GlobalVariableReadNode(157...160)(),
SymbolNode(162...179)((162...163), (163...179), nil, "$global_variable"),
SymbolNode(181...184)((181...182), (182...184), nil, "$_"),
SymbolNode(186...190)((186...187), (187...190), nil, "$-w"),
SymbolNode(192...203)((192...193), (193...203), nil, "$LOAD_PATH"),
SymbolNode(205...212)((205...206), (206...212), nil, "$stdin"),
SymbolNode(214...222)((214...215), (215...222), nil, "$stdout"),
SymbolNode(224...232)((224...225), (225...232), nil, "$stderr"),
SymbolNode(234...237)((234...235), (235...237), nil, "$!"),
SymbolNode(239...242)((239...240), (240...242), nil, "$?"),
SymbolNode(244...247)((244...245), (245...247), nil, "$~"),
SymbolNode(249...252)((249...250), (250...252), nil, "$&"),
SymbolNode(254...257)((254...255), (255...257), nil, "$`"),
SymbolNode(259...262)((259...260), (260...262), nil, "$'"),
SymbolNode(264...267)((264...265), (265...267), nil, "$+"),
SymbolNode(269...272)((269...270), (270...272), nil, "$:"),
SymbolNode(274...277)((274...275), (275...277), nil, "$;"),
SymbolNode(279...286)((279...280), (280...286), nil, "$DEBUG"),
SymbolNode(288...298)((288...289), (289...298), nil, "$FILENAME"),
SymbolNode(300...304)((300...301), (301...304), nil, "$-0"),
SymbolNode(306...323)((306...307), (307...323), nil, "$LOADED_FEATURES"),
SymbolNode(325...334)((325...326), (326...334), nil, "$VERBOSE"),
SymbolNode(336...340)((336...337), (337...340), nil, "$-K")]
GlobalVariableReadNode(124...126)(),
GlobalVariableReadNode(128...131)(),
GlobalVariableReadNode(133...149)(),
GlobalVariableReadNode(151...159)(),
GlobalVariableReadNode(161...164)(),
SymbolNode(166...183)((166...167), (167...183), nil, "$global_variable"),
SymbolNode(185...188)((185...186), (186...188), nil, "$_"),
SymbolNode(190...194)((190...191), (191...194), nil, "$-w"),
SymbolNode(196...207)((196...197), (197...207), nil, "$LOAD_PATH"),
SymbolNode(209...216)((209...210), (210...216), nil, "$stdin"),
SymbolNode(218...226)((218...219), (219...226), nil, "$stdout"),
SymbolNode(228...236)((228...229), (229...236), nil, "$stderr"),
SymbolNode(238...241)((238...239), (239...241), nil, "$!"),
SymbolNode(243...246)((243...244), (244...246), nil, "$?"),
SymbolNode(248...251)((248...249), (249...251), nil, "$~"),
SymbolNode(253...256)((253...254), (254...256), nil, "$&"),
SymbolNode(258...261)((258...259), (259...261), nil, "$`"),
SymbolNode(263...266)((263...264), (264...266), nil, "$'"),
SymbolNode(268...271)((268...269), (269...271), nil, "$+"),
SymbolNode(273...276)((273...274), (274...276), nil, "$:"),
SymbolNode(278...281)((278...279), (279...281), nil, "$;"),
SymbolNode(283...290)((283...284), (284...290), nil, "$DEBUG"),
SymbolNode(292...302)((292...293), (293...302), nil, "$FILENAME"),
SymbolNode(304...307)((304...305), (305...307), nil, "$0"),
SymbolNode(309...313)((309...310), (310...313), nil, "$-0"),
SymbolNode(315...332)((315...316), (316...332), nil, "$LOADED_FEATURES"),
SymbolNode(334...343)((334...335), (335...343), nil, "$VERBOSE"),
SymbolNode(345...349)((345...346), (346...349), nil, "$-K")]
)
)

View File

@ -4868,7 +4868,7 @@ lex_global_variable(yp_parser_t *parser) {
parser->current.end++;
size_t width;
if ((width = char_is_identifier(parser, parser->current.end)) > 0) {
if (parser->current.end < parser->end && (width = char_is_identifier(parser, parser->current.end)) > 0) {
do {
parser->current.end += width;
} while (parser->current.end < parser->end && (width = char_is_identifier(parser, parser->current.end)) > 0);