Skip to content

Commit 2f1e261

Browse files
committed
Fix remaining sexp constructors
1 parent ffe1a37 commit 2f1e261

File tree

3 files changed

+19
-19
lines changed

3 files changed

+19
-19
lines changed

lib/opal/parser.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ def new_regexp(reg, ending)
570570
return s(:regexp, //) unless reg
571571
case reg.type
572572
when :str
573-
s(:regexp, Regexp.new(reg[1], ending))
573+
s(:regexp, Regexp.new(reg[1], value(ending)))
574574
when :evstr
575575
s(:dregx, "", reg)
576576
when :dstr

lib/opal/parser/grammar.rb

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/opal/parser/grammar.y

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ rule
152152
| primary_value tLBRACK2 aref_args tRBRACK tOP_ASGN command_call
153153
| primary_value tDOT tIDENTIFIER tOP_ASGN command_call
154154
{
155-
result = s(:op_asgn2, val[0], "#{val[2]}=".intern, val[3].intern, val[4])
155+
result = s(:op_asgn2, val[0], op_to_setter(val[2]), value(val[3]).to_sym, val[4])
156156
}
157157
| primary_value tDOT tCONSTANT tOP_ASGN command_call
158158
| primary_value tCOLON2 tIDENTIFIER tOP_ASGN command_call
@@ -167,7 +167,7 @@ rule
167167
}
168168
| mlhs tEQL mrhs
169169
{
170-
result = s(:masgn, val[0], val[2])
170+
result = s(:masgn, val[0], s(:array, *val[2]))
171171
}
172172
| expr
173173

@@ -436,7 +436,7 @@ rule
436436
}
437437
| primary_value tDOT tIDENTIFIER tOP_ASGN arg
438438
{
439-
result = s(:op_asgn2, val[0], "#{val[2]}=".intern, val[3].intern, val[4])
439+
result = s(:op_asgn2, val[0], op_to_setter(val[2]), value(val[3]).to_sym, val[4])
440440
}
441441
| primary_value tDOT tCONSTANT tOP_ASGN arg
442442
| primary_value tCOLON2 tIDENTIFIER tOP_ASGN arg
@@ -479,12 +479,12 @@ rule
479479
| '-@NUM' tFLOAT tPOW arg
480480
| tUPLUS arg
481481
{
482-
result = new_call val[1], :"+@", s(:arglist)
482+
result = new_call val[1], [:"+@", []], []
483483
result = val[1] if [:int, :float].include? val[1].type
484484
}
485485
| tUMINUS arg
486486
{
487-
result = new_call val[1], :"-@", s(:arglist)
487+
result = new_call val[1], [:"-@", []], []
488488
if val[1].type == :int
489489
val[1][1] = -val[1][1]
490490
result = val[1]
@@ -743,11 +743,11 @@ rule
743743
}
744744
| tCOLON3 tCONSTANT
745745
{
746-
result = s(:colon3, val[1])
746+
result = new_colon3(val[0], val[1])
747747
}
748748
| primary_value tLBRACK2 aref_args tRBRACK
749749
{
750-
result = new_call val[0], :[], val[2]
750+
result = new_call val[0], [:[], []], val[2]
751751
}
752752
| tLBRACK aref_args tRBRACK
753753
{
@@ -1139,8 +1139,8 @@ opt_block_args_tail: tCOMMA block_args_tail
11391139
}
11401140
args then compstmt cases
11411141
{
1142-
part = s(:when, val[2], val[4])
1143-
part.line = val[2].line
1142+
part = s(:when, s(:array, *val[2]), val[4])
1143+
#part.line = val[2].line
11441144
result = [part]
11451145
result.push *val[5] if val[5]
11461146
}

0 commit comments

Comments
 (0)