From eb9f0f797535386d44f9bc1f9e0c1765622baa29 Mon Sep 17 00:00:00 2001 From: Luc Bourlier Date: Wed, 13 Nov 2013 15:14:05 +0100 Subject: [nomaster] Adds test cases for scope completion (cherry picked from commit 3d55fe723f1af91f4d2db421f0e0965c583346dc) --- test/files/presentation/scope-completion-1.check | 19 ++ .../presentation/scope-completion-1/Test.scala | 3 + .../scope-completion-1/src/Completions.scala | 12 + test/files/presentation/scope-completion-2.check | 35 +++ .../presentation/scope-completion-2/Test.scala | 3 + .../scope-completion-2/src/Completions.scala | 35 +++ test/files/presentation/scope-completion-3.check | 111 ++++++++ .../presentation/scope-completion-3/Test.scala | 3 + .../scope-completion-3/src/Completions.scala | 106 ++++++++ test/files/presentation/scope-completion-4.check | 293 +++++++++++++++++++++ .../presentation/scope-completion-4/Test.scala | 3 + .../scope-completion-4/src/Completions.scala | 84 ++++++ 12 files changed, 707 insertions(+) create mode 100644 test/files/presentation/scope-completion-1.check create mode 100644 test/files/presentation/scope-completion-1/Test.scala create mode 100644 test/files/presentation/scope-completion-1/src/Completions.scala create mode 100644 test/files/presentation/scope-completion-2.check create mode 100644 test/files/presentation/scope-completion-2/Test.scala create mode 100644 test/files/presentation/scope-completion-2/src/Completions.scala create mode 100644 test/files/presentation/scope-completion-3.check create mode 100644 test/files/presentation/scope-completion-3/Test.scala create mode 100644 test/files/presentation/scope-completion-3/src/Completions.scala create mode 100644 test/files/presentation/scope-completion-4.check create mode 100644 test/files/presentation/scope-completion-4/Test.scala create mode 100644 test/files/presentation/scope-completion-4/src/Completions.scala (limited to 'test') diff --git a/test/files/presentation/scope-completion-1.check b/test/files/presentation/scope-completion-1.check new file mode 100644 index 0000000000..93c637370d --- /dev/null +++ b/test/files/presentation/scope-completion-1.check @@ -0,0 +1,19 @@ +reload: Completions.scala + +askScopeCompletion at Completions.scala(6,2) +================================================================================ +[response] askScopeCompletion at (6,2) +retrieved 3 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `object Completion2test.Completion2.type` +================================================================================ + +askScopeCompletion at Completions.scala(10,2) +================================================================================ +[response] askScopeCompletion at (10,2) +retrieved 3 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `constructor Completion2()test.Completion2.type` +[accessible: true] `object Completion2test.Completion2.type` +================================================================================ diff --git a/test/files/presentation/scope-completion-1/Test.scala b/test/files/presentation/scope-completion-1/Test.scala new file mode 100644 index 0000000000..bec1131c4c --- /dev/null +++ b/test/files/presentation/scope-completion-1/Test.scala @@ -0,0 +1,3 @@ +import scala.tools.nsc.interactive.tests.InteractiveTest + +object Test extends InteractiveTest \ No newline at end of file diff --git a/test/files/presentation/scope-completion-1/src/Completions.scala b/test/files/presentation/scope-completion-1/src/Completions.scala new file mode 100644 index 0000000000..c4eea6b261 --- /dev/null +++ b/test/files/presentation/scope-completion-1/src/Completions.scala @@ -0,0 +1,12 @@ +package test + +/* completion on empty class and object */ + +class Completion1 { + /*_*/ +} + +object Completion2 { + /*_*/ +} + diff --git a/test/files/presentation/scope-completion-2.check b/test/files/presentation/scope-completion-2.check new file mode 100644 index 0000000000..bd2aa621ff --- /dev/null +++ b/test/files/presentation/scope-completion-2.check @@ -0,0 +1,35 @@ +reload: Completions.scala + +askScopeCompletion at Completions.scala(16,4) +================================================================================ +[response] askScopeCompletion at (16,4) +retrieved 11 members +[accessible: true] `class Cc1Completion1.this.Cc1` +[accessible: true] `class Co1test.Completion1.Co1` +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `method fc1=> Int` +[accessible: true] `method fo1=> Int` +[accessible: true] `method test=> Unit` +[accessible: true] `object Completion1test.Completion1.type` +[accessible: true] `value ctest.Completion1` +[accessible: true] `value vc1Int` +[accessible: true] `value vo1Int` +================================================================================ + +askScopeCompletion at Completions.scala(32,4) +================================================================================ +[response] askScopeCompletion at (32,4) +retrieved 11 members +[accessible: true] `class Cc1test.Completion1.c.Cc1` +[accessible: true] `class Co1test.Completion1.Co1` +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `constructor Completion1()test.Completion1.type` +[accessible: true] `method fc1=> Int` +[accessible: true] `method fo1=> Int` +[accessible: true] `method test=> Unit` +[accessible: true] `object Completion1test.Completion1.type` +[accessible: true] `value ctest.Completion1` +[accessible: true] `value vo1Int` +[accessible: false] `value vc1Int` +================================================================================ diff --git a/test/files/presentation/scope-completion-2/Test.scala b/test/files/presentation/scope-completion-2/Test.scala new file mode 100644 index 0000000000..bec1131c4c --- /dev/null +++ b/test/files/presentation/scope-completion-2/Test.scala @@ -0,0 +1,3 @@ +import scala.tools.nsc.interactive.tests.InteractiveTest + +object Test extends InteractiveTest \ No newline at end of file diff --git a/test/files/presentation/scope-completion-2/src/Completions.scala b/test/files/presentation/scope-completion-2/src/Completions.scala new file mode 100644 index 0000000000..96d38f1b85 --- /dev/null +++ b/test/files/presentation/scope-completion-2/src/Completions.scala @@ -0,0 +1,35 @@ +package test + +/* private elements are visible in the companion class/object */ + +class Completion1 { + + import Completion1._ + + private val vc1 = 0 + private def fc1 = 0 + + private class Cc1 + + def test { + // needs to be done in a method, because of SI-7280 + /*_*/ + } +} + +object Completion1 { + + val c = new Completion1() + import c._ + + private val vo1 = 0 + private def fo1 = 0 + + private class Co1 + + def test { + // needs to be done in a method, because of SI-7280 + /*_*/ + } +} + diff --git a/test/files/presentation/scope-completion-3.check b/test/files/presentation/scope-completion-3.check new file mode 100644 index 0000000000..c48e310355 --- /dev/null +++ b/test/files/presentation/scope-completion-3.check @@ -0,0 +1,111 @@ +reload: Completions.scala + +askScopeCompletion at Completions.scala(75,2) +================================================================================ +[response] askScopeCompletion at (75,2) +retrieved 49 members +[accessible: true] `class Base1test.Base1` +[accessible: true] `class Cb1Completion1.this.Cb1` +[accessible: true] `class Cc1Completion1.this.Cc1` +[accessible: true] `class Cc2Completion1.this.Cc2` +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class Ct1Completion1.this.Ct1` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `method fb1=> Int` +[accessible: true] `method fb3=> Int` +[accessible: true] `method fc1=> Int` +[accessible: true] `method fc2=> Int` +[accessible: true] `method ft1=> Int` +[accessible: true] `method ft3=> Int` +[accessible: true] `object Completion2test.Completion2.type` +[accessible: true] `object Ob1Completion1.this.Ob1.type` +[accessible: true] `object Oc1Completion1.this.Oc1.type` +[accessible: true] `object Oc2Completion1.this.Oc2.type` +[accessible: true] `object Ot1Completion1.this.Ot1.type` +[accessible: true] `trait Trait1test.Trait1` +[accessible: true] `type tb1Completion1.this.tb1` +[accessible: true] `type tb3Completion1.this.tb3` +[accessible: true] `type tc1Completion1.this.tc1` +[accessible: true] `type tc2Completion1.this.tc2` +[accessible: true] `type tt1Completion1.this.tt1` +[accessible: true] `type tt3Completion1.this.tt3` +[accessible: true] `value vb3Int` +[accessible: true] `value vc1Int` +[accessible: true] `value vc2Int` +[accessible: true] `value vt3Int` +[accessible: true] `variable rb3Int` +[accessible: true] `variable rc1Int` +[accessible: true] `variable rc2Int` +[accessible: true] `variable rt3Int` +[accessible: false] `class Cb2Completion1.this.Cb2` +[accessible: false] `class Ct2Completion1.this.Ct2` +[accessible: false] `method fb2=> Int` +[accessible: false] `method ft2=> Int` +[accessible: false] `object Ob2Completion1.this.Ob2.type` +[accessible: false] `object Ot2Completion1.this.Ot2.type` +[accessible: false] `type tb2Completion1.this.tb2` +[accessible: false] `type tt2Completion1.this.tt2` +[accessible: false] `value vb1Int` +[accessible: false] `value vb2Int` +[accessible: false] `value vt1Int` +[accessible: false] `value vt2Int` +[accessible: false] `variable rb1Int` +[accessible: false] `variable rb2Int` +[accessible: false] `variable rt1Int` +[accessible: false] `variable rt2Int` +================================================================================ + +askScopeCompletion at Completions.scala(104,2) +================================================================================ +[response] askScopeCompletion at (104,2) +retrieved 49 members +[accessible: true] `class Base1test.Base1` +[accessible: true] `class Cb1test.Completion2.Cb1` +[accessible: true] `class Co1test.Completion2.Co1` +[accessible: true] `class Co2test.Completion2.Co2` +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class Ct1test.Completion2.Ct1` +[accessible: true] `constructor Completion2()test.Completion2.type` +[accessible: true] `method fb1=> Int` +[accessible: true] `method fb3=> Int` +[accessible: true] `method fo1=> Int` +[accessible: true] `method fo2=> Int` +[accessible: true] `method ft1=> Int` +[accessible: true] `method ft3=> Int` +[accessible: true] `object Completion2test.Completion2.type` +[accessible: true] `object Ob1test.Completion2.Ob1.type` +[accessible: true] `object Oo1test.Completion2.Oo1.type` +[accessible: true] `object Oo2test.Completion2.Oo2.type` +[accessible: true] `object Ot1test.Completion2.Ot1.type` +[accessible: true] `trait Trait1test.Trait1` +[accessible: true] `type tb1test.Completion2.tb1` +[accessible: true] `type tb3test.Completion2.tb3` +[accessible: true] `type to1test.Completion2.to1` +[accessible: true] `type to2test.Completion2.to2` +[accessible: true] `type tt1test.Completion2.tt1` +[accessible: true] `type tt3test.Completion2.tt3` +[accessible: true] `value vb3Int` +[accessible: true] `value vo1Int` +[accessible: true] `value vo2Int` +[accessible: true] `value vt3Int` +[accessible: true] `variable rb3Int` +[accessible: true] `variable ro1Int` +[accessible: true] `variable ro2Int` +[accessible: true] `variable rt3Int` +[accessible: false] `class Cb2test.Completion2.Cb2` +[accessible: false] `class Ct2test.Completion2.Ct2` +[accessible: false] `method fb2=> Int` +[accessible: false] `method ft2=> Int` +[accessible: false] `object Ob2test.Completion2.Ob2.type` +[accessible: false] `object Ot2test.Completion2.Ot2.type` +[accessible: false] `type tb2test.Completion2.tb2` +[accessible: false] `type tt2test.Completion2.tt2` +[accessible: false] `value vb1Int` +[accessible: false] `value vb2Int` +[accessible: false] `value vt1Int` +[accessible: false] `value vt2Int` +[accessible: false] `variable rb1Int` +[accessible: false] `variable rb2Int` +[accessible: false] `variable rt1Int` +[accessible: false] `variable rt2Int` +================================================================================ diff --git a/test/files/presentation/scope-completion-3/Test.scala b/test/files/presentation/scope-completion-3/Test.scala new file mode 100644 index 0000000000..bec1131c4c --- /dev/null +++ b/test/files/presentation/scope-completion-3/Test.scala @@ -0,0 +1,3 @@ +import scala.tools.nsc.interactive.tests.InteractiveTest + +object Test extends InteractiveTest \ No newline at end of file diff --git a/test/files/presentation/scope-completion-3/src/Completions.scala b/test/files/presentation/scope-completion-3/src/Completions.scala new file mode 100644 index 0000000000..18cef1cefa --- /dev/null +++ b/test/files/presentation/scope-completion-3/src/Completions.scala @@ -0,0 +1,106 @@ +package test + +/* check availability of members defined locally and in hierachy */ + +abstract class Base1 { + + type tb1 = Int + val vb1 = 0 + var rb1 = 0 + def fb1 = 0 + class Cb1 + object Ob1 + + private type tb2 = Int + private val vb2 = 0 + private var rb2 = 0 + private def fb2 = 0 + private class Cb2 + private object Ob2 + + type tb3 + val vb3: Int + var rb3: Int + def fb3: Int +} + +trait Trait1 { + + type tt1 = Int + val vt1 = 0 + var rt1 = 0 + def ft1 = 0 + class Ct1 + object Ot1 + + private type tt2 = Int + private val vt2 = 0 + private var rt2 = 0 + private def ft2 = 0 + private class Ct2 + private object Ot2 + + type tt3 + val vt3: Int + var rt3: Int + def ft3: Int +} + +class Completion1 extends Base1 with Trait1 { + + type tc1 = Int + val vc1 = 0 + var rc1 = 0 + def fc1 = 0 + class Cc1 + object Oc1 + + private type tc2 = Int + private val vc2 = 0 + private var rc2 = 0 + private def fc2 = 0 + private class Cc2 + private object Oc2 + + override type tb3 = Int + override val vb3 = 12 + override var rb3 = 12 + override def fb3 = 12 + + override type tt3 = Int + override val vt3 = 12 + override var rt3 = 12 + override def ft3 = 12 + + /*_*/ +} + +object Completion2 extends Base1 with Trait1 { + + type to1 = Int + val vo1 = 0 + var ro1 = 0 + def fo1 = 0 + class Co1 + object Oo1 + + private type to2 = Int + private val vo2 = 0 + private var ro2 = 0 + private def fo2 = 0 + private class Co2 + private object Oo2 + + override type tb3 = Int + override val vb3 = 12 + override var rb3 = 12 + override def fb3 = 12 + + override type tt3 = Int + override val vt3 = 12 + override var rt3 = 12 + override def ft3 = 12 + + /*_*/ +} + diff --git a/test/files/presentation/scope-completion-4.check b/test/files/presentation/scope-completion-4.check new file mode 100644 index 0000000000..f6241cf7f7 --- /dev/null +++ b/test/files/presentation/scope-completion-4.check @@ -0,0 +1,293 @@ +reload: Completions.scala + +askScopeCompletion at Completions.scala(12,8) +================================================================================ +[response] askScopeCompletion at (12,8) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fcfc` +[accessible: true] `class ffcffc` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `method f=> Unit` +[accessible: true] `method ff=> Unit` +[accessible: true] `method fff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(15,6) +================================================================================ +[response] askScopeCompletion at (15,6) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fcfc` +[accessible: true] `class ffcffc` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `method f=> Unit` +[accessible: true] `method ff=> Unit` +[accessible: true] `method fff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(18,8) +================================================================================ +[response] askScopeCompletion at (18,8) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fcfc` +[accessible: true] `class ffcffc` +[accessible: true] `constructor ffc()ffc` +[accessible: true] `method f=> Unit` +[accessible: true] `method ff=> Unit` +[accessible: true] `method fff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(21,6) +================================================================================ +[response] askScopeCompletion at (21,6) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fcfc` +[accessible: true] `class ffcffc` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `method f=> Unit` +[accessible: true] `method ff=> Unit` +[accessible: true] `method fff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(24,4) +================================================================================ +[response] askScopeCompletion at (24,4) +retrieved 6 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fcfc` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `method f=> Unit` +[accessible: true] `method ff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(29,8) +================================================================================ +[response] askScopeCompletion at (29,8) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fccfc.this.fcc` +[accessible: true] `class fcfc` +[accessible: true] `constructor fc()fc` +[accessible: true] `method f=> Unit` +[accessible: true] `method fcf=> Unit` +[accessible: true] `method ff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(32,6) +================================================================================ +[response] askScopeCompletion at (32,6) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fccfc.this.fcc` +[accessible: true] `class fcfc` +[accessible: true] `constructor fc()fc` +[accessible: true] `method f=> Unit` +[accessible: true] `method fcf=> Unit` +[accessible: true] `method ff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(35,8) +================================================================================ +[response] askScopeCompletion at (35,8) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fccfc.this.fcc` +[accessible: true] `class fcfc` +[accessible: true] `constructor fcc()fc.this.fcc` +[accessible: true] `method f=> Unit` +[accessible: true] `method fcf=> Unit` +[accessible: true] `method ff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(38,6) +================================================================================ +[response] askScopeCompletion at (38,6) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fccfc.this.fcc` +[accessible: true] `class fcfc` +[accessible: true] `constructor fc()fc` +[accessible: true] `method f=> Unit` +[accessible: true] `method fcf=> Unit` +[accessible: true] `method ff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(41,4) +================================================================================ +[response] askScopeCompletion at (41,4) +retrieved 6 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class fcfc` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `method f=> Unit` +[accessible: true] `method ff=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(44,2) +================================================================================ +[response] askScopeCompletion at (44,2) +retrieved 4 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(51,8) +================================================================================ +[response] askScopeCompletion at (51,8) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `class ccccc.this.ccc` +[accessible: true] `constructor ccc()cc.this.ccc` +[accessible: true] `method ccf=> Unit` +[accessible: true] `method cf=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(54,6) +================================================================================ +[response] askScopeCompletion at (54,6) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `class ccccc.this.ccc` +[accessible: true] `constructor cc()c.this.cc` +[accessible: true] `method ccf=> Unit` +[accessible: true] `method cf=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(57,8) +================================================================================ +[response] askScopeCompletion at (57,8) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `class ccccc.this.ccc` +[accessible: true] `constructor cc()c.this.cc` +[accessible: true] `method ccf=> Unit` +[accessible: true] `method cf=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(60,6) +================================================================================ +[response] askScopeCompletion at (60,6) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `class ccccc.this.ccc` +[accessible: true] `constructor cc()c.this.cc` +[accessible: true] `method ccf=> Unit` +[accessible: true] `method cf=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(63,4) +================================================================================ +[response] askScopeCompletion at (63,4) +retrieved 6 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `constructor c()Completion1.this.c` +[accessible: true] `method cf=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(68,8) +================================================================================ +[response] askScopeCompletion at (68,8) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `class cfccfc` +[accessible: true] `constructor cfc()cfc` +[accessible: true] `method cf=> Unit` +[accessible: true] `method cff=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(71,6) +================================================================================ +[response] askScopeCompletion at (71,6) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `class cfccfc` +[accessible: true] `constructor c()Completion1.this.c` +[accessible: true] `method cf=> Unit` +[accessible: true] `method cff=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(74,8) +================================================================================ +[response] askScopeCompletion at (74,8) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `class cfccfc` +[accessible: true] `constructor c()Completion1.this.c` +[accessible: true] `method cf=> Unit` +[accessible: true] `method cff=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(77,6) +================================================================================ +[response] askScopeCompletion at (77,6) +retrieved 8 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `class cfccfc` +[accessible: true] `constructor c()Completion1.this.c` +[accessible: true] `method cf=> Unit` +[accessible: true] `method cff=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(80,4) +================================================================================ +[response] askScopeCompletion at (80,4) +retrieved 6 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `class ccc.this.cc` +[accessible: true] `constructor c()Completion1.this.c` +[accessible: true] `method cf=> Unit` +[accessible: true] `method f=> Unit` +================================================================================ + +askScopeCompletion at Completions.scala(83,2) +================================================================================ +[response] askScopeCompletion at (83,2) +retrieved 4 members +[accessible: true] `class Completion1test.Completion1` +[accessible: true] `class cCompletion1.this.c` +[accessible: true] `constructor Completion1()test.Completion1` +[accessible: true] `method f=> Unit` +================================================================================ diff --git a/test/files/presentation/scope-completion-4/Test.scala b/test/files/presentation/scope-completion-4/Test.scala new file mode 100644 index 0000000000..bec1131c4c --- /dev/null +++ b/test/files/presentation/scope-completion-4/Test.scala @@ -0,0 +1,3 @@ +import scala.tools.nsc.interactive.tests.InteractiveTest + +object Test extends InteractiveTest \ No newline at end of file diff --git a/test/files/presentation/scope-completion-4/src/Completions.scala b/test/files/presentation/scope-completion-4/src/Completions.scala new file mode 100644 index 0000000000..d11315720a --- /dev/null +++ b/test/files/presentation/scope-completion-4/src/Completions.scala @@ -0,0 +1,84 @@ +package test + +/* check that members defined in sub-block are not visible*/ + +class Completion1 { + + def f { + + def ff { + + def fff { + /*_*/ + } + + /*_*/ + + class ffc { + /*_*/ + } + + /*_*/ + } + + /*_*/ + + class fc { + + def fcf { + /*_*/ + } + + /*_*/ + + class fcc { + /*_*/ + } + + /*_*/ + } + + /*_*/ + } + + /*_*/ + + class c { + + class cc { + + class ccc { + /*_*/ + } + + /*_*/ + + def ccf { + /*_*/ + } + + /*_*/ + } + + /*_*/ + + def cf { + + class cfc { + /*_*/ + } + + /*_*/ + + def cff { + /*_*/ + } + + /*_*/ + } + + /*_*/ + } + + /*_*/ +} -- cgit v1.2.3