diff options
author | Paul Phillips <paulp@improving.org> | 2011-10-22 21:09:11 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-10-22 21:09:11 +0000 |
commit | 290f687fb6ab91b6aef62d871036ddc3829f12b4 (patch) | |
tree | a55663699fa69315ba4e640252cc6694cbd805d6 /src/compiler/scala/reflect/internal/Symbols.scala | |
parent | 0c97d8c73fdf4e1dd33ee98ea2e14bc51388bb5f (diff) | |
download | scala-290f687fb6ab91b6aef62d871036ddc3829f12b4.tar.gz scala-290f687fb6ab91b6aef62d871036ddc3829f12b4.tar.bz2 scala-290f687fb6ab91b6aef62d871036ddc3829f12b4.zip |
Overhaul of Namers continues.
Starting to see a glimmer of the other side now. I nudged a few things
into more sensible places. No review.
Diffstat (limited to 'src/compiler/scala/reflect/internal/Symbols.scala')
-rw-r--r-- | src/compiler/scala/reflect/internal/Symbols.scala | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/compiler/scala/reflect/internal/Symbols.scala b/src/compiler/scala/reflect/internal/Symbols.scala index 00e9200076..cb4d2bbf94 100644 --- a/src/compiler/scala/reflect/internal/Symbols.scala +++ b/src/compiler/scala/reflect/internal/Symbols.scala @@ -91,8 +91,16 @@ trait Symbols extends api.Symbols { self: SymbolTable => new MethodSymbol(this, pos, name).setFlag(METHOD) final def newLabel(pos: Position, name: TermName) = newMethod(pos, name).setFlag(LABEL) + + /** Propagates ConstrFlags (JAVA, specifically) from owner to constructor. */ final def newConstructor(pos: Position) = - newMethod(pos, nme.CONSTRUCTOR) + newMethod(pos, nme.CONSTRUCTOR) setFlag getFlag(ConstrFlags) + /** Static constructor with info set. */ + def newStaticConstructor(pos: Position) = + newConstructor(pos) setFlag STATIC setInfo UnitClass.tpe + /** Instance constructor with info set. */ + def newClassConstructor(pos: Position) = + newConstructor(pos) setInfo MethodType(Nil, this.tpe) private def finishModule(m: ModuleSymbol, clazz: ClassSymbol): ModuleSymbol = { // Top-level objects can be automatically marked final, but others |