Merge branch 'stable' of github.com:jashkenas/coffee-script into stable

This commit is contained in:
Jeremy Ashkenas
2011-04-09 16:01:20 -07:00
5 changed files with 16 additions and 10 deletions

View File

@@ -931,7 +931,6 @@ exports.Assign = class Assign extends Base
{value} = this
{objects} = @variable.base
unless olen = objects.length
return false if top
code = value.compile o
return if o.level >= LEVEL_OP then "(#{code})" else code
isObject = @variable.isObject()
@@ -992,7 +991,7 @@ exports.Assign = class Assign extends Base
val = new Value new Literal(vvar), [new (if acc then Access else Index) idx]
assigns.push new Assign(obj, val, null, param: @param).compile o, LEVEL_TOP
assigns.push vvar unless top
code = (compact assigns).join ', '
code = assigns.join ', '
if o.level < LEVEL_LIST then code else "(#{code})"
# When compiling a conditional assignment, take care to ensure that the
@@ -1419,9 +1418,9 @@ exports.Existence = class Existence extends Base
code = @expression.compile o, LEVEL_OP
code = if IDENTIFIER.test(code) and not o.scope.check code
if @negated
"typeof #{code} == \"undefined\" || #{code} === null"
"typeof #{code} == \"undefined\" || #{code} == null"
else
"typeof #{code} != \"undefined\" && #{code} !== null"
"typeof #{code} != \"undefined\" && #{code} != null"
else
sym = if @negated then '==' else '!='
"#{code} #{sym} null"