git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@15176 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
This commit is contained in:
odersky 2008-05-23 14:24:26 +00:00
parent 36b1f62e51
commit 8ef7b3bdc9
3 changed files with 19 additions and 2 deletions

View File

@ -772,7 +772,7 @@ abstract class Mixin extends InfoTransform {
case Select(Super(_, _), name) =>
tree
case Select(qual, name) if sym.owner.isImplClass && !isStaticOnly(sym) =>
case Select(qual, name) if sym.owner.isImplClass && !isStaticOnly(sym) && enclInterface != null =>
// refer to fields in some implementation class via an abstract
// getter in the interface.
if (sym.isMethod)

View File

@ -705,7 +705,7 @@ abstract class RefChecks extends InfoTransform {
result
}
/** If symbol is deprecated and is not contained in a depreceated definition,
/** If symbol is deprecated and is not contained in a deprecated definition,
* issue a deprecated warning
*/
def checkDeprecated(sym: Symbol, pos: Position) {

View File

@ -0,0 +1,17 @@
object Test extends Application {
def foo = {
abstract class MouseEventType { def x: String }
case object Clicked extends MouseEventType {
def x = "Clicked"
}
trait MouseHandler {
def mouseClicked() = handleEvent(Clicked);
def handleEvent(t : MouseEventType) = t.x
}
(new MouseHandler {}).handleEvent(Clicked)
}
assert(foo == "Clicked")
}