From 311d813910a2ec590b11b84c28fac2ae6e086270 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 28 Nov 2011 11:01:12 +0000 Subject: Experimental version of macro definitions. --- src/library/scala/reflect/api/Trees.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/library') diff --git a/src/library/scala/reflect/api/Trees.scala b/src/library/scala/reflect/api/Trees.scala index 478c47a210..20f20890e8 100644 --- a/src/library/scala/reflect/api/Trees.scala +++ b/src/library/scala/reflect/api/Trees.scala @@ -315,7 +315,7 @@ trait Trees /*extends reflect.generic.Trees*/ { self: Universe => /** A common base class for ValDefs and DefDefs. */ abstract class ValOrDefDef extends MemberDef { - def name: TermName + def name: Name // can't be a TermName because macros can be type names. def tpt: Tree def rhs: Tree } @@ -325,9 +325,10 @@ trait Trees /*extends reflect.generic.Trees*/ { self: Universe => */ case class ValDef(mods: Modifiers, name: TermName, tpt: Tree, rhs: Tree) extends ValOrDefDef - /** A method definition. + /** A method or macro definition. + * @param name The name of the method or macro. Can be a type name in case this is a type macro */ - case class DefDef(mods: Modifiers, name: TermName, tparams: List[TypeDef], + case class DefDef(mods: Modifiers, name: Name, tparams: List[TypeDef], vparamss: List[List[ValDef]], tpt: Tree, rhs: Tree) extends ValOrDefDef /** An abstract type, a type parameter, or a type alias. -- cgit v1.2.3