|
108 | 108 | import org.truffleruby.language.literal.BooleanLiteralNode;
|
109 | 109 | import org.truffleruby.language.literal.EncodingLiteralNode;
|
110 | 110 | import org.truffleruby.language.literal.FloatLiteralNode;
|
| 111 | +import org.truffleruby.language.literal.FrozenStringLiteralNode; |
111 | 112 | import org.truffleruby.language.literal.IntegerFixnumLiteralNode;
|
112 | 113 | import org.truffleruby.language.literal.LongFixnumLiteralNode;
|
113 | 114 | import org.truffleruby.language.literal.NilLiteralNode;
|
@@ -506,13 +507,11 @@ public RubyNode visitCallNode(CallParseNode node) {
|
506 | 507 | if (receiver instanceof StrParseNode && methodName.equals("freeze")) {
|
507 | 508 | final StrParseNode strNode = (StrParseNode) receiver;
|
508 | 509 | final Rope nodeRope = strNode.getValue();
|
509 |
| - |
510 | 510 | final ImmutableRubyString frozenString = language
|
511 | 511 | .getFrozenStringLiteral(nodeRope.getBytes(), nodeRope.getEncoding(), strNode.getCodeRange());
|
512 |
| - |
513 | 512 | return addNewlineIfNeeded(node, withSourceSection(
|
514 | 513 | sourceSection,
|
515 |
| - new DefinedWrapperNode(language.coreStrings.METHOD, new ObjectLiteralNode(frozenString)))); |
| 514 | + new FrozenStringLiteralNode(frozenString, language.coreStrings.METHOD))); |
516 | 515 | }
|
517 | 516 |
|
518 | 517 | if (receiver instanceof ConstParseNode &&
|
@@ -2862,8 +2861,7 @@ public RubyNode visitStrNode(StrParseNode node) {
|
2862 | 2861 | if (node.isFrozen()) {
|
2863 | 2862 | final ImmutableRubyString frozenString = language
|
2864 | 2863 | .getFrozenStringLiteral(nodeRope.getBytes(), nodeRope.getEncoding(), node.getCodeRange());
|
2865 |
| - |
2866 |
| - ret = new DefinedWrapperNode(language.coreStrings.EXPRESSION, new ObjectLiteralNode(frozenString)); |
| 2864 | + ret = new FrozenStringLiteralNode(frozenString, language.coreStrings.EXPRESSION); |
2867 | 2865 | } else {
|
2868 | 2866 | final LeafRope cachedRope = language.ropeCache
|
2869 | 2867 | .getRope(nodeRope.getBytes(), nodeRope.getEncoding(), node.getCodeRange());
|
|
0 commit comments