Skip to content

Commit

Permalink
Showing 1 changed file with 2 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -76,8 +76,6 @@ public static Object matchCommon(RubyContext context, DynamicObject regexp, Dyna

final ByteList bytes = StringOperations.getByteList(source);

final Frame frame = RubyCallStack.getCallerFrame(context).getFrame(FrameAccess.READ_WRITE, true);

final int match = matcher.search(startPos, range, Option.DEFAULT);

final DynamicObject nil = context.getCoreLibrary().getNilObject();
@@ -86,6 +84,7 @@ public static Object matchCommon(RubyContext context, DynamicObject regexp, Dyna
RegexpSetLastMatchPrimitiveNode.setLastMatch(context, nil);

if (setNamedCaptures && Layouts.REGEXP.getRegex(regexp).numberOfNames() > 0) {
final Frame frame = RubyCallStack.getCallerFrame(context).getFrame(FrameAccess.READ_WRITE, true);
for (Iterator<NameEntry> i = Layouts.REGEXP.getRegex(regexp).namedBackrefIterator(); i.hasNext();) {
final NameEntry e = i.next();
final String name = new String(e.name, e.nameP, e.nameEnd - e.nameP, StandardCharsets.UTF_8).intern();
@@ -142,6 +141,7 @@ public static Object matchCommon(RubyContext context, DynamicObject regexp, Dyna
RegexpSetLastMatchPrimitiveNode.setLastMatch(context, matchObject);

if (setNamedCaptures && Layouts.REGEXP.getRegex(regexp).numberOfNames() > 0) {
final Frame frame = RubyCallStack.getCallerFrame(context).getFrame(FrameAccess.READ_WRITE, true);
for (Iterator<NameEntry> i = Layouts.REGEXP.getRegex(regexp).namedBackrefIterator(); i.hasNext();) {
final NameEntry e = i.next();
final String name = new String(e.name, e.nameP, e.nameEnd - e.nameP, StandardCharsets.UTF_8).intern();

0 comments on commit 3f28478

Please sign in to comment.