diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-07-25 04:32:28 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-07-25 04:32:28 -0700 |
commit | 41ee45eb86ae20875d2c79403d3436a65d2b125f (patch) | |
tree | 69ce3cc8481b95d1a41e1abf3672b05b92db7148 | |
parent | 950c783e31f9cb5d4268cc83d824020c8345d910 (diff) | |
parent | e6f3a8f6d3d4607d60e74ab8658a40fb55915d69 (diff) | |
download | scala-41ee45eb86ae20875d2c79403d3436a65d2b125f.tar.gz scala-41ee45eb86ae20875d2c79403d3436a65d2b125f.tar.bz2 scala-41ee45eb86ae20875d2c79403d3436a65d2b125f.zip |
Merge pull request #985 from scalamacros/ticket/6112
SI-6112 exposes symbol mutators in macro universe
-rw-r--r-- | src/reflect/scala/reflect/internal/Symbols.scala | 1 | ||||
-rw-r--r-- | src/reflect/scala/reflect/makro/Universe.scala | 11 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala index 10d02376b1..6054af0ac2 100644 --- a/src/reflect/scala/reflect/internal/Symbols.scala +++ b/src/reflect/scala/reflect/internal/Symbols.scala @@ -78,6 +78,7 @@ trait Symbols extends api.Symbols { self: SymbolTable => def asType: Type = tpe def asTypeIn(site: Type): Type = site.memberType(this) def asTypeConstructor: Type = typeConstructor + def setFlags(flags: FlagSet): this.type = setInternalFlags(flags) def setInternalFlags(flag: Long): this.type = { setFlag(flag); this } def setTypeSignature(tpe: Type): this.type = { setInfo(tpe); this } def getAnnotations: List[AnnotationInfo] = { initialize; annotations } diff --git a/src/reflect/scala/reflect/makro/Universe.scala b/src/reflect/scala/reflect/makro/Universe.scala index a676f7f1de..d88e7e0bb8 100644 --- a/src/reflect/scala/reflect/makro/Universe.scala +++ b/src/reflect/scala/reflect/makro/Universe.scala @@ -24,8 +24,15 @@ abstract class Universe extends scala.reflect.api.Universe { */ trait SymbolContextApi extends SymbolApi with AttachableApi { this: Symbol => - // [Eugene++ to Martin] should we also add mutability methods here (similarly to what's done below for trees)? - // I'm talking about `setAnnotations` and friends + def setFlags(flags: FlagSet): this.type + + def setTypeSignature(tpe: Type): this.type + + def setAnnotations(annots: AnnotationInfo*): this.type + + def setName(name: Name): this.type + + def setPrivateWithin(sym: Symbol): this.type } // Tree extensions --------------------------------------------------------------- |