Skip to content

Commit 5215c1a

Browse files
committed
Inline receiver local
1 parent b72fcb2 commit 5215c1a

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

parser/prism/Translator.cc

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1597,7 +1597,6 @@ unique_ptr<parser::Node> Translator::translate(pm_node_t *node) {
15971597
auto callNode = down_cast<pm_call_node>(node);
15981598

15991599
auto constantNameString = parser.resolveConstant(callNode->name);
1600-
auto receiver = translate(callNode->receiver);
16011600

16021601
core::LocOffsets messageLoc;
16031602

@@ -1737,8 +1736,6 @@ unique_ptr<parser::Node> Translator::translate(pm_node_t *node) {
17371736
}
17381737
};
17391738

1740-
enforceHasExpr(receiver);
1741-
17421739
unique_ptr<parser::Node> blockBody; // e.g. `123` in `foo { |x| 123 }`
17431740
ast::MethodDef::PARAMS_store blockParamsStore;
17441741
ast::InsSeq::STATS_store blockStatsStore;
@@ -1840,11 +1837,11 @@ unique_ptr<parser::Node> Translator::translate(pm_node_t *node) {
18401837
ast::Send::Flags flags;
18411838

18421839
ast::ExpressionPtr receiverExpr;
1843-
if (receiver == nullptr) { // Convert `foo()` to `self.foo()`
1840+
if (callNode->receiver == nullptr) { // Convert `foo()` to `self.foo()`
18441841
// 0-sized Loc, since `self.` doesn't appear in the original file.
18451842
receiverExpr = MK::Self(sendLoc0);
18461843
} else {
1847-
receiverExpr = receiver->takeDesugaredExpr();
1844+
receiverExpr = desugar(callNode->receiver);
18481845
}
18491846

18501847
// Unsupported nodes are desugared to an empty tree.

0 commit comments

Comments
 (0)