@@ -363,43 +363,29 @@ protected <T> RubyArray fillinInstrumentData(Map<T, AtomicInteger> map, ArrayBui
363
363
}
364
364
}
365
365
366
- @ CoreMethod (names = "literal_regexp_compilation_stats_array " , onSingleton = true , required = 0 )
367
- public abstract static class LiteralRegexpCompilationStatsArrayNode extends RegexpStatsNode {
366
+ @ CoreMethod (names = "regexp_compilation_stats_array " , onSingleton = true , required = 1 )
367
+ public abstract static class RegexpCompilationStatsArrayNode extends RegexpStatsNode {
368
368
369
369
@ Specialization
370
- protected Object buildStatsArray (
370
+ protected Object buildStatsArray (boolean literalRegexps ,
371
371
@ Cached ArrayBuilderNode arrayBuilderNode ) {
372
- return fillinInstrumentData (COMPILED_REGEXPS_LITERAL , arrayBuilderNode , getContext ());
373
- }
374
- }
375
-
376
- @ CoreMethod (names = "dynamic_regexp_compilation_stats_array" , onSingleton = true , required = 0 )
377
- public abstract static class DynamicRegexpCompilationStatsArrayNode extends RegexpStatsNode {
378
-
379
- @ Specialization
380
- protected Object buildStatsArray (
381
- @ Cached ArrayBuilderNode arrayBuilderNode ) {
382
- return fillinInstrumentData (COMPILED_REGEXPS_DYNAMIC , arrayBuilderNode , getContext ());
383
- }
384
- }
385
-
386
- @ CoreMethod (names = "joni_match_stats_array" , onSingleton = true , required = 0 )
387
- public abstract static class JoniMatchStatsArrayNode extends RegexpStatsNode {
388
-
389
- @ Specialization
390
- protected Object buildStatsArray (
391
- @ Cached ArrayBuilderNode arrayBuilderNode ) {
392
- return fillinInstrumentData (MATCHED_REGEXPS_JONI , arrayBuilderNode , getContext ());
372
+ return fillinInstrumentData (
373
+ literalRegexps ? COMPILED_REGEXPS_LITERAL : COMPILED_REGEXPS_DYNAMIC ,
374
+ arrayBuilderNode ,
375
+ getContext ());
393
376
}
394
377
}
395
378
396
- @ CoreMethod (names = "tregex_match_stats_array " , onSingleton = true , required = 0 )
397
- public abstract static class TRegexMatchStatsArrayNode extends RegexpStatsNode {
379
+ @ CoreMethod (names = "match_stats_array " , onSingleton = true , required = 1 )
380
+ public abstract static class MatchStatsArrayNode extends RegexpStatsNode {
398
381
399
382
@ Specialization
400
- protected Object buildStatsArray (
383
+ protected Object buildStatsArray (boolean joniMatches ,
401
384
@ Cached ArrayBuilderNode arrayBuilderNode ) {
402
- return fillinInstrumentData (MATCHED_REGEXPS_TREGEX , arrayBuilderNode , getContext ());
385
+ return fillinInstrumentData (
386
+ joniMatches ? MATCHED_REGEXPS_JONI : MATCHED_REGEXPS_TREGEX ,
387
+ arrayBuilderNode ,
388
+ getContext ());
403
389
}
404
390
}
405
391
0 commit comments