File tree 2 files changed +10
-2
lines changed
compiler/src/dotty/tools/backend/sjs
tests/sjs-junit/test/org/scalajs/testsuite/compiler
2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -3041,7 +3041,7 @@ class JSCodeGen()(using genCtx: Context) {
3041
3041
val formalAndActualCaptures = allCaptureValues.map { value =>
3042
3042
implicit val pos = value.span
3043
3043
val (formalIdent, originalName) = value match {
3044
- case Ident (name) => (freshLocalIdent(name.toString ), OriginalName (name.toString))
3044
+ case Ident (name) => (freshLocalIdent(name.toTermName ), OriginalName (name.toString))
3045
3045
case This (_) => (freshLocalIdent(" this" ), thisOriginalName)
3046
3046
case _ => (freshLocalIdent(), NoOriginalName )
3047
3047
}
@@ -3069,7 +3069,7 @@ class JSCodeGen()(using genCtx: Context) {
3069
3069
3070
3070
val formalAndActualParams = formalParamNames.lazyZip(formalParamTypes).lazyZip(formalParamRepeateds).map {
3071
3071
(name, tpe, repeated) =>
3072
- val formalParam = js.ParamDef (freshLocalIdent(name.toString ),
3072
+ val formalParam = js.ParamDef (freshLocalIdent(name),
3073
3073
OriginalName (name.toString), jstpe.AnyType , mutable = false )
3074
3074
val actualParam =
3075
3075
if (repeated) genJSArrayToVarArgs(formalParam.ref)(tree.sourcePos)
Original file line number Diff line number Diff line change @@ -27,6 +27,14 @@ class RegressionTestScala3 {
27
27
assertEquals(" foo" , new RangeErrorIssue11592 (" foo" ).message)
28
28
assertEquals(" " , new RangeErrorIssue11592 ().message)
29
29
}
30
+
31
+ @ Test def testNonJVMCharsInClosureParametersIssue12507 (): Unit = {
32
+ def foo (`[-3, 3]` : Int ): Int => Int = { x =>
33
+ `[-3, 3]`
34
+ }
35
+
36
+ assertEquals(5 , foo(5 )(4 ))
37
+ }
30
38
}
31
39
32
40
object RegressionTestScala3 {
You can’t perform that action at this time.
0 commit comments