   SwitchCase: (node) ->
     @injectComments(node, 'consequent')
 
-  Block: (node) ->
+  BlockComment: (node) ->
     @convertCommentPrefixes(node)
 
-  ###
+  ###*
+  # updateCommentTypes():
+  # Updates comment `type` as needed. It changes *Block* to *BlockComment*, and
+  # *Line* to *LineComment*. This makes it play nice with the rest of the AST,
+  # because "Block" and "Line" are ambiguous.
+  ###
+
+  updateCommentTypes: ->
+    for c in @comments
+      switch c.type
+        when 'Block' then c.type = 'BlockComment'
+        when 'Line'  then c.type = 'LineComment'
+
+  ###*
   # injectComments():
   # Injects comment nodes into a node list.
   ###

      es.VisitorKeys.CoffeeEscapedExpression = []
      es.VisitorKeys.CoffeeListExpression = []
      es.VisitorKeys.CoffeePrototypeExpression = []
      es.VisitorKeys.Block = []
      es.VisitorKeys.Line = []
      es

  ###*

        left = item.range[1]
    list

  ###*
  # convertCommentPrefixes():
  # Changes JS block comments into CoffeeScript block comments.
  # This involves changing prefixes like `*` into `#`.
