class SyntaxTree::ClassDeclaration

def copy(constant: nil, superclass: nil, bodystmt: nil, location: nil)

def copy(constant: nil, superclass: nil, bodystmt: nil, location: nil)
  node =
    ClassDeclaration.new(
      constant: constant || self.constant,
      superclass: superclass || self.superclass,
      bodystmt: bodystmt || self.bodystmt,
      location: location || self.location
    )
  node.comments.concat(comments.map(&:copy))
  node
end