Skip to content

Commit

Permalink
fix MatchData#inspect
Browse files Browse the repository at this point in the history
  • Loading branch information
lopex committed Jul 31, 2018
1 parent 4363a2e commit 71763b8
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions core/src/main/java/org/jruby/RubyMatchData.java
Original file line number Diff line number Diff line change
Expand Up @@ -378,24 +378,22 @@ public IRubyObject[] getNamedBackrefValues(Ruby runtime) {
@JRubyMethod
@Override
public RubyString inspect() {
if (str == null) return (RubyString) anyToString();

Ruby runtime = getRuntime();
if (regexp == null) return (RubyString) anyToString();

RubyString result = runtime.newString();
result.cat((byte)'#').cat((byte)'<');
result.append(getMetaClass().getRealClass().to_s());

NameEntry[] names = new NameEntry[regs == null ? 1 : regs.numRegs];

final Regex pattern = getPattern();
if (pattern.numberOfNames() > 0) {
for (Iterator<NameEntry> i = pattern.namedBackrefIterator(); i.hasNext();) {
NameEntry e = i.next();
for (int num : e.getBackRefs()) names[num] = e;
}
final Regex pattern = regexp.pattern;
for (Iterator<NameEntry> i = pattern.namedBackrefIterator(); i.hasNext();) {
NameEntry e = i.next();
for (int num : e.getBackRefs()) names[num] = e;
}

for (int i=0; i<names.length; i++) {
for (int i = 0; i < names.length; i++) {
result.cat((byte)' ');
if (i > 0) {
NameEntry e = names[i];
Expand All @@ -410,7 +408,7 @@ public RubyString inspect() {
if (v.isNil()) {
result.cat(RubyNil.nilBytes); // "nil"
} else {
result.append(((RubyString) v).inspect(runtime));
result.append(((RubyString)v).inspect(runtime));
}
}

Expand Down

0 comments on commit 71763b8

Please sign in to comment.