     tag: id.toUpperCase() if include(KEYWORDS, id) and
       not (include(ACCESSORS, @tag(0)) and not @prev().spaced)
     @identifier_error id  if include RESERVED, id
-    tag: 'LEADING_WHEN'   if tag is 'WHEN' and include BEFORE_WHEN, @tag()
+    tag: 'LEADING_WHEN'   if tag is 'WHEN' and include LINE_BREAK, @tag()
     @token(tag, id)
     @i += id.length
     true

    prev: @prev(2)
    size: indent.match(LAST_DENTS).reverse()[0].match(LAST_DENT)[1].length
    next_character: @chunk.match(MULTI_DENT)[4]
    no_newlines: next_character is '.' or
      (@value() and @value().match and @value().match(NO_NEWLINE) and
      prev and (prev[0] isnt '.') and not @value().match(CODE))
    if size is @indent
      return @suppress_newlines() if no_newlines
      return @newline_token(indent)

  comment_token: ->
    return false unless comment: @match COMMENT, 1
    @line += (comment.match(MULTILINER) or []).length
    lines: compact comment.replace(COMMENT_CLEANER, '').split(MULTILINER)
    i: @tokens.length - 1
    if @unfinished()
      i -= 1 while @tokens[i] and not include LINE_BREAK, @tokens[i][0]
    @tokens.splice(i + 1, 0, ['COMMENT', lines, @line], ['TERMINATOR', '\n', @line])
    @i += comment.length
    true

