|
|
|
|
@ -25,7 +25,6 @@
@@ -25,7 +25,6 @@
|
|
|
|
|
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
|
|
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
using System; |
|
|
|
|
using System.Collections.Generic; |
|
|
|
|
using System.IO; |
|
|
|
|
@ -41,7 +40,6 @@ using System.Diagnostics;
@@ -41,7 +40,6 @@ using System.Diagnostics;
|
|
|
|
|
using System.Text; |
|
|
|
|
using ICSharpCode.NRefactory.CSharp.TypeSystem; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace ICSharpCode.NRefactory.CSharp.CodeCompletion |
|
|
|
|
{ |
|
|
|
|
[TestFixture()] |
|
|
|
|
@ -70,9 +68,11 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
@@ -70,9 +68,11 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
|
|
|
|
|
act (provider); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
class TestFactory : ICompletionDataFactory |
|
|
|
|
class TestFactory |
|
|
|
|
: ICompletionDataFactory |
|
|
|
|
{ |
|
|
|
|
class CompletionData : ICompletionData |
|
|
|
|
class CompletionData |
|
|
|
|
: ICompletionData |
|
|
|
|
{ |
|
|
|
|
#region ICompletionData implementation
|
|
|
|
|
public void AddOverload (ICompletionData data) |
|
|
|
|
@ -305,7 +305,8 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
@@ -305,7 +305,8 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
|
|
|
|
|
Assert.IsNotNull (provider.Find ("ReferenceEquals"), "Method 'System.Object.ReferenceEquals' not found."); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
class TestLocVisitor : ICSharpCode.NRefactory.CSharp.DepthFirstAstVisitor<object, object> |
|
|
|
|
class TestLocVisitor |
|
|
|
|
: ICSharpCode.NRefactory.CSharp.DepthFirstAstVisitor<object, object> |
|
|
|
|
{ |
|
|
|
|
public List<Tuple<TextLocation, string>> output = new List<Tuple<TextLocation, string>> (); |
|
|
|
|
|
|
|
|
|
@ -331,7 +332,7 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
@@ -331,7 +332,7 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
|
|
|
|
|
int exceptions = 0; |
|
|
|
|
int i = 0; |
|
|
|
|
foreach (var file in Directory.EnumerateFiles ("/Users/mike/work/mono/mcs/tests", "*.cs")) { |
|
|
|
|
if (i++>2) |
|
|
|
|
if (i++ > 2) |
|
|
|
|
break; |
|
|
|
|
if (i <= 2) |
|
|
|
|
continue; |
|
|
|
|
@ -352,7 +353,7 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
@@ -352,7 +353,7 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
Console.WriteLine ("Exception in:" +file); |
|
|
|
|
Console.WriteLine ("Exception in:" + file); |
|
|
|
|
exceptions++; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -362,7 +363,6 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
@@ -362,7 +363,6 @@ namespace ICSharpCode.NRefactory.CSharp.CodeCompletion
|
|
|
|
|
if (missing > 0) |
|
|
|
|
Assert.Fail (); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestSimpleCodeCompletion () |
|
|
|
|
@ -384,6 +384,7 @@ void TestMethod ()
@@ -384,6 +384,7 @@ void TestMethod ()
|
|
|
|
|
Assert.IsNotNull (provider.Find ("TM2")); |
|
|
|
|
Assert.IsNotNull (provider.Find ("TF1")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestSimpleInterfaceCodeCompletion () |
|
|
|
|
{ |
|
|
|
|
@ -1680,7 +1681,6 @@ class A
@@ -1680,7 +1681,6 @@ class A
|
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug2800B () |
|
|
|
|
{ |
|
|
|
|
@ -1717,6 +1717,48 @@ class A
@@ -1717,6 +1717,48 @@ class A
|
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Bug 2798 - Unnecessary namespace qualification being prepended
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Test()] |
|
|
|
|
public void Test2798 () |
|
|
|
|
{ |
|
|
|
|
CombinedProviderTest ( |
|
|
|
|
@"
|
|
|
|
|
using System; |
|
|
|
|
|
|
|
|
|
namespace Foobar |
|
|
|
|
{ |
|
|
|
|
class MainClass |
|
|
|
|
{ |
|
|
|
|
public enum Foo |
|
|
|
|
{ |
|
|
|
|
Value1, |
|
|
|
|
Value2 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public class Test |
|
|
|
|
{ |
|
|
|
|
Foo Foo { |
|
|
|
|
get; set; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static void Method (Foo foo) |
|
|
|
|
{ |
|
|
|
|
$if (foo == F$ |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
", provider => {
|
|
|
|
|
Assert.IsNull (provider.Find ("MainClass.Foo"), "'MainClass.Foo' found."); |
|
|
|
|
Assert.IsNotNull (provider.Find ("Foo"), "'Foo' not found."); |
|
|
|
|
Assert.IsNotNull (provider.Find ("Foo.Value1"), "'Foo.Value1' not found."); |
|
|
|
|
Assert.IsNotNull (provider.Find ("Foo.Value2"), "'Foo.Value2' not found."); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Bug 2799 - No completion offered when declaring fields in a class
|
|
|
|
|
/// </summary>
|
|
|
|
|
@ -1747,8 +1789,6 @@ class A
@@ -1747,8 +1789,6 @@ class A
|
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestNewInConstructor () |
|
|
|
|
{ |
|
|
|
|
@ -1920,7 +1960,7 @@ class Test
@@ -1920,7 +1960,7 @@ class Test
|
|
|
|
|
");
|
|
|
|
|
Assert.IsNotNull (provider, "provider not found."); |
|
|
|
|
Assert.AreEqual (1, provider.OverloadCount, "There should be one overload"); |
|
|
|
|
Assert.AreEqual (1, provider.GetParameterCount(0), "Parameter 'test' should exist"); |
|
|
|
|
Assert.AreEqual (1, provider.GetParameterCount (0), "Parameter 'test' should exist"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
@ -2374,7 +2414,7 @@ class MyClass2
@@ -2374,7 +2414,7 @@ class MyClass2
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug542976 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
class KeyValuePair<S, T> |
|
|
|
|
{ |
|
|
|
|
@ -2424,7 +2464,7 @@ namespace TestMe
@@ -2424,7 +2464,7 @@ namespace TestMe
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug545189A () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
public class A<T> |
|
|
|
|
{ |
|
|
|
|
@ -2453,7 +2493,7 @@ public class Foo
@@ -2453,7 +2493,7 @@ public class Foo
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug549864 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
delegate T MyFunc<S, T> (S t); |
|
|
|
|
|
|
|
|
|
@ -2482,7 +2522,7 @@ class TestClass
@@ -2482,7 +2522,7 @@ class TestClass
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug550185 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
public interface IMyinterface<T> { |
|
|
|
|
T Foo (); |
|
|
|
|
@ -2516,7 +2556,7 @@ class TestClass
@@ -2516,7 +2556,7 @@ class TestClass
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug553101 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
namespace Some.Type |
|
|
|
|
{ |
|
|
|
|
@ -2545,7 +2585,7 @@ namespace Test
@@ -2545,7 +2585,7 @@ namespace Test
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug555523A () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
class A |
|
|
|
|
{ |
|
|
|
|
@ -2592,7 +2632,7 @@ class MainClass
@@ -2592,7 +2632,7 @@ class MainClass
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug555523B () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
class A |
|
|
|
|
{ |
|
|
|
|
@ -2640,7 +2680,7 @@ class MainClass
@@ -2640,7 +2680,7 @@ class MainClass
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug561964 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
interface A1 { |
|
|
|
|
int A { get; } |
|
|
|
|
@ -2675,7 +2715,7 @@ class Foo : IFoo
@@ -2675,7 +2715,7 @@ class Foo : IFoo
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug568204 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
public class Style |
|
|
|
|
{ |
|
|
|
|
@ -2710,7 +2750,7 @@ public class Foo
@@ -2710,7 +2750,7 @@ public class Foo
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug577225 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
using Foo; |
|
|
|
|
|
|
|
|
|
@ -2752,7 +2792,7 @@ namespace Other
@@ -2752,7 +2792,7 @@ namespace Other
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug582017 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
class Bar |
|
|
|
|
{ |
|
|
|
|
@ -2779,7 +2819,7 @@ class Foo
@@ -2779,7 +2819,7 @@ class Foo
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug586304 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
using System; |
|
|
|
|
using System.Collections.Generic; |
|
|
|
|
@ -2821,7 +2861,7 @@ public class Test
@@ -2821,7 +2861,7 @@ public class Test
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug586304B () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
public delegate S Func<T, S> (T t); |
|
|
|
|
|
|
|
|
|
@ -2861,7 +2901,7 @@ class MyClass
@@ -2861,7 +2901,7 @@ class MyClass
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug587543 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
interface ITest |
|
|
|
|
{ |
|
|
|
|
@ -2887,7 +2927,7 @@ class C
@@ -2887,7 +2927,7 @@ class C
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug587549 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
public interface ITest |
|
|
|
|
{ |
|
|
|
|
@ -2925,7 +2965,7 @@ public class PrinterImpl : Printer
@@ -2925,7 +2965,7 @@ public class PrinterImpl : Printer
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug588223 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
class Lazy<T> { public void Foo () {} } |
|
|
|
|
class Lazy<T, S> { public void Bar () {} } |
|
|
|
|
@ -2965,7 +3005,7 @@ class Test
@@ -2965,7 +3005,7 @@ class Test
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug592120 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
|
|
|
|
|
interface IBar |
|
|
|
|
@ -2995,7 +3035,7 @@ class Foo
@@ -2995,7 +3035,7 @@ class Foo
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug576354 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
delegate T Func<S, T> (S s); |
|
|
|
|
|
|
|
|
|
@ -3038,7 +3078,7 @@ class MyTest
@@ -3038,7 +3078,7 @@ class MyTest
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug534680 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateCtrlSpaceProvider ( |
|
|
|
|
CompletionDataList provider = CreateCtrlSpaceProvider ( |
|
|
|
|
@"
|
|
|
|
|
class Foo |
|
|
|
|
{ |
|
|
|
|
@ -3058,7 +3098,7 @@ class Foo
@@ -3058,7 +3098,7 @@ class Foo
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug610006 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
class MainClass |
|
|
|
|
{ |
|
|
|
|
@ -3083,7 +3123,7 @@ class MainClass
@@ -3083,7 +3123,7 @@ class MainClass
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug614045 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"
|
|
|
|
|
namespace A |
|
|
|
|
{ |
|
|
|
|
@ -3122,7 +3162,7 @@ namespace B
@@ -3122,7 +3162,7 @@ namespace B
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestBug615992 () |
|
|
|
|
{ |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
CompletionDataList provider = CreateProvider ( |
|
|
|
|
@"public delegate void Act<T> (T t);
|
|
|
|
|
|
|
|
|
|
public class Foo |
|
|
|
|
@ -3772,7 +3812,7 @@ public class Test
@@ -3772,7 +3812,7 @@ public class Test
|
|
|
|
|
");
|
|
|
|
|
Assert.IsNotNull (provider, "provider not found."); |
|
|
|
|
Assert.IsNotNull (provider.Find ("SomeMethod"), "method 'SomeMethod' not found."); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
/// <summary>
|
|
|
|
|
/// Bug 678340 - Cannot infer types from Dictionary<K,V>.Values
|
|
|
|
|
/// </summary>
|
|
|
|
|
@ -4096,7 +4136,7 @@ namespace ConsoleProject
@@ -4096,7 +4136,7 @@ namespace ConsoleProject
|
|
|
|
|
", provider => {
|
|
|
|
|
Assert.IsNotNull (provider.Find ("ArgsNum"), "property 'ArgsNum' not found."); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestParameterContext () |
|
|
|
|
@ -4126,7 +4166,6 @@ public class TestMe
@@ -4126,7 +4166,6 @@ public class TestMe
|
|
|
|
|
Assert.IsTrue (provider == null || provider.Count == 0, "provider should be empty."); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Test()] |
|
|
|
|
public void TestParameterContextNameProposal () |
|
|
|
|
{ |
|
|
|
|
@ -4283,17 +4322,17 @@ class Test
@@ -4283,17 +4322,17 @@ class Test
|
|
|
|
|
var list = new List<CompletionCategory> (); |
|
|
|
|
|
|
|
|
|
for (int i = 0; i < provider.Count; i++) { |
|
|
|
|
if (list.Contains (provider[i].CompletionCategory)) |
|
|
|
|
if (list.Contains (provider [i].CompletionCategory)) |
|
|
|
|
continue; |
|
|
|
|
list.Add (provider[i].CompletionCategory); |
|
|
|
|
list.Add (provider [i].CompletionCategory); |
|
|
|
|
} |
|
|
|
|
Assert.AreEqual (4, list.Count); |
|
|
|
|
|
|
|
|
|
list.Sort (); |
|
|
|
|
Assert.AreEqual ("CClass", list[0].DisplayText); |
|
|
|
|
Assert.AreEqual ("BClass", list[1].DisplayText); |
|
|
|
|
Assert.AreEqual ("AClass", list[2].DisplayText); |
|
|
|
|
Assert.AreEqual ("System.Object", list[3].DisplayText); |
|
|
|
|
Assert.AreEqual ("CClass", list [0].DisplayText); |
|
|
|
|
Assert.AreEqual ("BClass", list [1].DisplayText); |
|
|
|
|
Assert.AreEqual ("AClass", list [2].DisplayText); |
|
|
|
|
Assert.AreEqual ("System.Object", list [3].DisplayText); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test()] |
|
|
|
|
|