fixing comment-within-objecta-and-array-literal printing for the new expression regime.

This commit is contained in:
Jeremy Ashkenas
2010-01-03 18:35:03 -05:00
parent bd2597c6b8
commit 97f16c0e9c

View File

@@ -536,7 +536,8 @@ module CoffeeScript
props = @properties.map { |prop| props = @properties.map { |prop|
join = joins[prop] join = joins[prop]
join = '' if prop == @properties.last join = '' if prop == @properties.last
o[:indent] + prop.compile(o) + join idt = prop.is_a?(CommentNode) ? '' : o[:indent]
"#{idt}#{prop.compile(o)}#{join}"
}.join('') }.join('')
write("{\n#{props}\n#{indent}}") write("{\n#{props}\n#{indent}}")
end end
@@ -551,11 +552,14 @@ module CoffeeScript
end end
def compile_node(o) def compile_node(o)
indent = o[:indent]
o[:indent] += TAB
objects = @objects.map { |obj| objects = @objects.map { |obj|
joiner = obj.is_a?(CommentNode) ? "\n#{o[:indent] + TAB}" : obj == @objects.last ? '' : ', ' code = obj.compile(o)
obj.compile(o.merge(:indent => o[:indent] + TAB)) + joiner obj.is_a?(CommentNode) ? "\n#{code}\n#{o[:indent]}" :
obj == @objects.last ? code : "#{code}, "
}.join('') }.join('')
ending = objects.include?("\n") ? "\n#{o[:indent]}]" : ']' ending = objects.include?("\n") ? "\n#{indent}]" : ']'
write("[#{objects}#{ending}") write("[#{objects}#{ending}")
end end
end end