Skip to content

Commit 35c75a2

Browse files
committed
Review usages of StringOperations.encodeAsciiBytes()
1 parent 6597432 commit 35c75a2

File tree

6 files changed

+11
-102
lines changed

6 files changed

+11
-102
lines changed

src/main/java/org/truffleruby/core/encoding/EncodingManager.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.truffleruby.core.array.ArrayUtils;
3131
import org.truffleruby.core.klass.RubyClass;
3232
import org.truffleruby.core.string.EncodingUtils;
33-
import org.truffleruby.core.string.StringOperations;
3433
import org.truffleruby.extra.ffi.Pointer;
3534
import org.truffleruby.platform.NativeConfiguration;
3635
import org.truffleruby.platform.TruffleNFIPlatform;
@@ -221,7 +220,7 @@ public void defineBuiltInEncoding(RubyEncoding rubyEncoding) {
221220
}
222221

223222
@TruffleBoundary
224-
public synchronized RubyEncoding defineDynamicEncoding(Encoding encoding, byte[] name) {
223+
public synchronized RubyEncoding defineDynamicEncoding(Encoding encoding, String name) {
225224
final int encodingIndex = ENCODING_LIST_BY_ENCODING_INDEX.length;
226225

227226
final RubyEncoding rubyEncoding = Encodings.newRubyEncoding(language, encoding, encodingIndex, name);
@@ -252,8 +251,7 @@ public synchronized RubyEncoding createDummyEncoding(String name) {
252251
return null;
253252
}
254253

255-
final byte[] nameBytes = StringOperations.encodeAsciiBytes(name);
256-
return defineDynamicEncoding(Encodings.DUMMY_ENCODING_BASE, nameBytes);
254+
return defineDynamicEncoding(Encodings.DUMMY_ENCODING_BASE, name);
257255
}
258256

259257
public RubyEncoding getLocaleEncoding() {

src/main/java/org/truffleruby/core/encoding/Encodings.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,13 @@ private static Encoding createDummyEncoding() {
132132
}
133133

134134
@TruffleBoundary
135-
public static RubyEncoding newRubyEncoding(RubyLanguage language, Encoding encoding, int index, byte[] name) {
136-
var tstring = TStringUtils.fromByteArray(name, Encodings.US_ASCII);
135+
public static RubyEncoding newRubyEncoding(RubyLanguage language, Encoding encoding, int index, String name) {
136+
if (!StringOperations.isAsciiOnly(name)) {
137+
throw CompilerDirectives
138+
.shouldNotReachHere("Encoding name contained non ascii characters \"" + name + "\"");
139+
}
140+
141+
var tstring = TStringUtils.fromJavaString(name, Encodings.US_ASCII);
137142
final ImmutableRubyString string = language.getImmutableString(tstring, Encodings.US_ASCII);
138143

139144
return new RubyEncoding(encoding, string, index);

src/main/java/org/truffleruby/core/format/format/FormatFloatHumanReadableNode.java

Lines changed: 0 additions & 46 deletions
This file was deleted.

src/main/java/org/truffleruby/core/format/format/FormatStringNode.java

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/main/java/org/truffleruby/core/symbol/CoreSymbols.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import com.oracle.truffle.api.strings.TruffleString;
1616
import org.truffleruby.core.encoding.Encodings;
1717
import org.truffleruby.core.encoding.TStringUtils;
18-
import org.truffleruby.core.string.StringOperations;
1918
import org.truffleruby.core.string.TStringConstants;
2019

2120
// GENERATED BY tool/generate-core-symbols.rb
@@ -213,8 +212,7 @@ public final class CoreSymbols {
213212
public RubySymbol createRubySymbol(String string, long id) {
214213
TruffleString tstring = TStringConstants.lookupUSASCIITString(string);
215214
if (tstring == null) {
216-
byte[] bytes = StringOperations.encodeAsciiBytes(string);
217-
tstring = TStringUtils.fromByteArray(bytes, TruffleString.Encoding.US_ASCII);
215+
tstring = TStringUtils.fromJavaString(string, TruffleString.Encoding.US_ASCII);
218216
}
219217

220218
final RubySymbol symbol = new RubySymbol(string, tstring, Encodings.US_ASCII, id);

tool/generate-core-symbols.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import com.oracle.truffle.api.strings.TruffleString;
3535
import org.truffleruby.core.encoding.Encodings;
3636
import org.truffleruby.core.encoding.TStringUtils;
37-
import org.truffleruby.core.string.StringOperations;
3837
import org.truffleruby.core.string.TStringConstants;
3938
4039
// GENERATED BY #{__FILE__}
@@ -179,8 +178,7 @@
179178
public RubySymbol createRubySymbol(String string, long id) {
180179
TruffleString tstring = TStringConstants.lookupUSASCIITString(string);
181180
if (tstring == null) {
182-
byte[] bytes = StringOperations.encodeAsciiBytes(string);
183-
tstring = TStringUtils.fromByteArray(bytes, TruffleString.Encoding.US_ASCII);
181+
tstring = TStringUtils.fromJavaString(string, TruffleString.Encoding.US_ASCII);
184182
}
185183
186184
final RubySymbol symbol = new RubySymbol(string, tstring, Encodings.US_ASCII, id);

0 commit comments

Comments
 (0)