Object Definitions 

Object definitions are written using OBJECTDEF(...):

scala> import treehugger.forest._, definitions._, treehuggerDSL._
import treehugger.forest._
import definitions._
import treehuggerDSL._

scala> val tree = OBJECTDEF("Main") withParents("App") := BLOCK(
  LIT(0)
)
tree: treehugger.forest.ModuleDef = ModuleDef(Modifiers(, , Map()),Main,Template(List(TypeTree()),ValDef(Modifiers(private, , Map()),Ident(_),EmptyTree),List(Literal(Constant(0)))))

scala> treeToString(tree)
res0: String = 
object Main extends App {
  0
}

Case object definitions 

Case object definitions are written using CASEOBJECTDEF(...):

scala> val tree2 = (CASEOBJECTDEF("C"): Tree)
tree2: treehugger.forest.Tree = ModuleDef(Modifiers(case, , Map()),C,Template(List(),ValDef(Modifiers(private, , Map()),Ident(_),EmptyTree),List()))

scala> treeToString(tree2)
res1: String = case object C