From e6f10b07d44f0ddde26246b4a41527a84eede81c Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Wed, 26 Sep 2012 12:14:13 -0700 Subject: Fixed SI-5604, selections on package objects. mkAttributedSelect, which creates a Select tree based on a symbol, has been a major source of package object bugs, because it has not been accurately identifying selections on package objects. When selecting foo.bar, if foo turns out to be a package object, the created Select tree must be foo.`package`.bar However mkAttributedSelect was only examining the owner of the symbol, which means it would work if the package object defined bar directly, but not if it inherited it. --- test/files/pos/t5604b/Test_2.scala | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 test/files/pos/t5604b/Test_2.scala (limited to 'test/files/pos/t5604b/Test_2.scala') diff --git a/test/files/pos/t5604b/Test_2.scala b/test/files/pos/t5604b/Test_2.scala new file mode 100644 index 0000000000..f7c58ebe83 --- /dev/null +++ b/test/files/pos/t5604b/Test_2.scala @@ -0,0 +1,7 @@ +// sandbox/t5604/Test.scala +package t6504 + +object Test { + def blerg1(a: Any): Any = if (foo) blerg1(0) + def blerg2(a: Any): Any = if (t6504.foo) blerg2(0) +} -- cgit v1.2.3