11
11
package org .truffleruby .core .string ;
12
12
13
13
import com .oracle .truffle .api .CompilerAsserts ;
14
+ import com .oracle .truffle .api .nodes .Node ;
14
15
import com .oracle .truffle .api .strings .AbstractTruffleString ;
15
16
import com .oracle .truffle .api .strings .TruffleString ;
16
17
import org .jcodings .Config ;
@@ -51,9 +52,9 @@ public static boolean isBrokenCodeRange(AbstractTruffleString string, TruffleStr
51
52
return codeRangeNode .execute (string , encoding ) == BROKEN ;
52
53
}
53
54
54
- public static boolean isSingleByteOptimizable (AbstractTruffleString tString , RubyEncoding encoding ,
55
+ public static boolean isSingleByteOptimizable (Node node , AbstractTruffleString tString , RubyEncoding encoding ,
55
56
SingleByteOptimizableNode singleByteOptimizableNode ) {
56
- return singleByteOptimizableNode .execute (tString , encoding );
57
+ return singleByteOptimizableNode .execute (node , tString , encoding );
57
58
}
58
59
59
60
public static boolean isAsciiCompatible (RubyEncoding encoding ) {
@@ -70,15 +71,15 @@ private static boolean isAsciiCompatMapping(int caseMappingOptions) {
70
71
}
71
72
72
73
/** The mapping is ASCII-only or effectively ASCII-only based on the string properties. */
73
- private static boolean isAsciiCodePointsMapping (AbstractTruffleString tstring , RubyEncoding encoding ,
74
+ private static boolean isAsciiCodePointsMapping (Node node , AbstractTruffleString tstring , RubyEncoding encoding ,
74
75
int caseMappingOptions , SingleByteOptimizableNode singleByteOptimizableNode ) {
75
- return isSingleByteOptimizable (tstring , encoding , singleByteOptimizableNode )
76
+ return isSingleByteOptimizable (node , tstring , encoding , singleByteOptimizableNode )
76
77
? isAsciiCompatMapping (caseMappingOptions )
77
78
: caseMappingOptions == Config .CASE_ASCII_ONLY && isAsciiCompatible (encoding );
78
79
}
79
80
80
- public static boolean isComplexCaseMapping (AbstractTruffleString tstring , RubyEncoding encoding ,
81
+ public static boolean isComplexCaseMapping (Node node , AbstractTruffleString tstring , RubyEncoding encoding ,
81
82
int caseMappingOptions , SingleByteOptimizableNode singleByteOptimizableNode ) {
82
- return !isAsciiCodePointsMapping (tstring , encoding , caseMappingOptions , singleByteOptimizableNode );
83
+ return !isAsciiCodePointsMapping (node , tstring , encoding , caseMappingOptions , singleByteOptimizableNode );
83
84
}
84
85
}
0 commit comments