Skip to content

Commit f5b77a1

Browse files
authored
Merge pull request #162 from fanshi1028/patch-1
fix objCallAsConstructor for the javascript backend
2 parents f566d03 + 3d85e2a commit f5b77a1

File tree

1 file changed

+10
-11
lines changed
  • jsaddle/src/Language/Javascript/JSaddle

1 file changed

+10
-11
lines changed

jsaddle/src/Language/Javascript/JSaddle/Object.hs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -600,28 +600,27 @@ foreign import javascript safe
600600
#if __GLASGOW_HASKELL__ >= 900
601601
"(($1,$2) => {\
602602
switch($2.length) {\
603-
case 0 : $r = new $1(); break;\
604-
case 1 : $r = new $1($2[0]); break;\
605-
case 2 : $r = new $1($2[0],$2[1]); break;\
606-
case 3 : $r = new $1($2[0],$2[1],$2[2]); break;\
607-
case 4 : $r = new $1($2[0],$2[1],$2[2],$2[3]); break;\
608-
case 5 : $r = new $1($2[0],$2[1],$2[2],$2[3],$2[4]); break;\
609-
case 6 : $r = new $1($2[0],$2[1],$2[2],$2[3],$2[4],$2[5]); break;\
610-
case 7 : $r = new $1($2[0],$2[1],$2[2],$2[3],$2[4],$2[5],$2[6]); break;\
603+
case 0 : return new $1();\
604+
case 1 : return new $1($2[0]);\
605+
case 2 : return new $1($2[0],$2[1]);\
606+
case 3 : return new $1($2[0],$2[1],$2[2]);\
607+
case 4 : return new $1($2[0],$2[1],$2[2],$2[3]);\
608+
case 5 : return new $1($2[0],$2[1],$2[2],$2[3],$2[4]);\
609+
case 6 : return new $1($2[0],$2[1],$2[2],$2[3],$2[4],$2[5]);\
610+
case 7 : return new $1($2[0],$2[1],$2[2],$2[3],$2[4],$2[5],$2[6]);\
611611
default:\
612612
var temp = function() {\
613613
ret = $1.apply(this, $2);\
614614
};\
615615
temp.prototype = $1.prototype;\
616616
var i = new temp();\
617617
if(ret instanceof Object) {\
618-
$r = ret;\
618+
return ret;\
619619
} else {\
620620
i.constructor = $1;\
621-
$r = i;\
621+
return i;\
622622
}\
623623
}\
624-
return $r;\
625624
})"
626625
#else
627626
"switch($2.length) {\

0 commit comments

Comments
 (0)