Skip to content

Commit 7c2888b

Browse files
committed
Adopt SymbolFlags
1 parent 4718be6 commit 7c2888b

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/main/java/org/truffleruby/parser/YARPTranslator.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2760,8 +2760,21 @@ private RubyNode executeOrInheritBlock(RubyNode blockNode) {
27602760

27612761
@Override
27622762
public RubyNode visitSymbolNode(Nodes.SymbolNode node) {
2763-
var tstring = TStringUtils.fromByteArray(node.unescaped, sourceEncoding);
2764-
final RubySymbol symbol = language.getSymbol(tstring, sourceEncoding);
2763+
final RubyEncoding encoding;
2764+
2765+
if (node.isForcedUtf8Encoding()) {
2766+
encoding = Encodings.UTF_8;
2767+
} else if (node.isForcedUsAsciiEncoding()) {
2768+
encoding = Encodings.US_ASCII;
2769+
} else if (node.isForcedBinaryEncoding()) {
2770+
encoding = Encodings.BINARY;
2771+
} else {
2772+
encoding = sourceEncoding;
2773+
}
2774+
2775+
var tstring = TStringUtils.fromByteArray(node.unescaped, encoding);
2776+
final RubySymbol symbol = language.getSymbol(tstring, encoding);
2777+
27652778
final RubyNode rubyNode = new ObjectLiteralNode(symbol);
27662779
return assignPositionAndFlags(node, rubyNode);
27672780
}

0 commit comments

Comments
 (0)