Val
q"$mods val $tname: $tpt = $expr" or q"$mods val $pat = $expr"
ValDef
Var
q"$mods var $tname: $tpt = $expr" or q"$mods val $pat = $expr"
ValDef
Val Pattern
q"$mods val $pat: $tpt = $expr"
Tree
Var Pattern
q"$mods var $pat: $tpt = $expr"
Tree
Method
q"$mods def $tname[..$tparams](...$paramss): $tpt = $expr"
DefDef
Secondary Constructor
q"$mods def this(...$paramss) = this(..$argss)"
DefDef
Type
q"$mods type $tpname[..$tparams] = $tpt"
TypeDef
Class
q"$mods class $tpname[..$tparams] $ctorMods(...$paramss) extends { ..$earlydefns } with ..$parents { $self => ..$stats }"
ClassDef
Trait
q"$mods trait $tpname[..$tparams] extends { ..$earlydefns } with ..$parents { $self => ..$stats }"
TraitDef
Object
q"$mods object $tname extends { ..$earlydefns } with ..$parents { $self => ..$body }"
ModuleDef
Package
q"package $ref { ..$topstats }"
PackageDef
Package Object
q"package object $tname extends { ..$earlydefns } with ..$parents { $self => ..$stats }"
PackageDef
This is a companion discussion topic for the original entry at http://docs.scala-lang.org//overviews/quasiquotes/syntax-summary.html