aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-12-16 16:04:45 +0100
committerMartin Odersky <odersky@gmail.com>2013-12-16 16:04:52 +0100
commit24db65e0544d5d5076f03219464ce91f3ae99d04 (patch)
tree5f4c30b84af7e0869a189c751f7a319232774e5f /src/dotty/tools/dotc
parent15c67417a96ea5f4619c5a53f875fa5e2c1578c9 (diff)
downloaddotty-24db65e0544d5d5076f03219464ce91f3ae99d04.tar.gz
dotty-24db65e0544d5d5076f03219464ce91f3ae99d04.tar.bz2
dotty-24db65e0544d5d5076f03219464ce91f3ae99d04.zip
Setting Method flag when parsing classfiles and sources
Diffstat (limited to 'src/dotty/tools/dotc')
-rw-r--r--src/dotty/tools/dotc/core/pickling/ClassfileParser.scala2
-rw-r--r--src/dotty/tools/dotc/typer/Namer.scala3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala b/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala
index dbd8088bf..ad45f4d19 100644
--- a/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala
+++ b/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala
@@ -150,7 +150,7 @@ class ClassfileParser(
val start = indexCoord(in.bp)
val jflags = in.nextChar
val sflags =
- if (method) FlagTranslation.methodFlags(jflags)
+ if (method) Flags.Method | FlagTranslation.methodFlags(jflags)
else FlagTranslation.fieldFlags(jflags)
val name = pool.getName(in.nextChar)
if (!(sflags is Flags.Private) || name == nme.CONSTRUCTOR || settings.optimise.value) {
diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala
index 4ea87bb7b..e054aaa3a 100644
--- a/src/dotty/tools/dotc/typer/Namer.scala
+++ b/src/dotty/tools/dotc/typer/Namer.scala
@@ -167,8 +167,9 @@ class Namer { typer: Typer =>
privateWithinClass(tree.mods), tree.pos, ctx.source.file))
case tree: MemberDef =>
val deferred = if (lacksDefinition(tree)) Deferred else EmptyFlags
+ val method = if (tree.isInstanceOf[DefDef]) Method else EmptyFlags
record(ctx.newSymbol(
- ctx.owner, tree.name.encode, tree.mods.flags | deferred,
+ ctx.owner, tree.name.encode, tree.mods.flags | deferred | method,
adjustIfModule(new Completer(tree), tree),
privateWithinClass(tree.mods), tree.pos))
case tree: Import =>