Browse Source

Revert "Fixed type system converter case reported from "erik-kallen"."

The bug was already fixed in fb0c2923; this patch was adding the parameters a second time.

This reverts commit c4dfb27626.
newNRvisualizers
Daniel Grunwald 14 years ago
parent
commit
57a59341a5
  1. 8
      ICSharpCode.NRefactory.CSharp/TypeSystem/TypeSystemConvertVisitor.cs
  2. 11
      ICSharpCode.NRefactory.Tests/CSharp/Parser/TypeSystemConvertVisitorTests.cs
  3. 6
      ICSharpCode.NRefactory.Tests/TypeSystem/TypeSystemTests.TestCase.cs

8
ICSharpCode.NRefactory.CSharp/TypeSystem/TypeSystemConvertVisitor.cs

@ -651,14 +651,6 @@ namespace ICSharpCode.NRefactory.CSharp.TypeSystem @@ -651,14 +651,6 @@ namespace ICSharpCode.NRefactory.CSharp.TypeSystem
a.Parameters.Add(indexerParam);
}
DefaultUnresolvedParameter param = null;
// copy indexer parameters to the accessor
if (p is IUnresolvedParameterizedMember) {
foreach (var parameter in ((IUnresolvedParameterizedMember)p).Parameters) {
a.Parameters.Add (parameter);
}
}
if (accessor.Role == PropertyDeclaration.GetterRole) {
a.ReturnType = p.ReturnType;
} else {

11
ICSharpCode.NRefactory.Tests/CSharp/Parser/TypeSystemConvertVisitorTests.cs

@ -80,17 +80,6 @@ namespace ICSharpCode.NRefactory.CSharp.Parser @@ -80,17 +80,6 @@ namespace ICSharpCode.NRefactory.CSharp.Parser
Assert.AreEqual(genericInterfaceOfString, interfaceMethod2.DeclaringType);
Assert.IsTrue(interfaceMethod2.Parameters[1].IsRef);
}
[Test]
public void IndexerParameters()
{
var testClass = GetTypeDefinition(typeof(NRefactory.TypeSystem.TestCase.IndexerTest));
IProperty p = testClass.Properties.Single(pr => pr.IsIndexer);
Assert.AreEqual("Item", p.Name);
Assert.AreEqual(new[] { "index" }, p.Getter.Parameters.Select(x => x.Name).ToArray());
Assert.AreEqual(new[] { "index", "value" }, p.Setter.Parameters.Select(x => x.Name).ToArray());
}
}
[TestFixture]

6
ICSharpCode.NRefactory.Tests/TypeSystem/TypeSystemTests.TestCase.cs

@ -180,10 +180,4 @@ namespace ICSharpCode.NRefactory.TypeSystem.TestCase @@ -180,10 +180,4 @@ namespace ICSharpCode.NRefactory.TypeSystem.TestCase
void IGenericInterface<string>.Test<T>(string a, T b) {}
void IGenericInterface<string>.Test<T>(string a, ref T b) {}
}
public class IndexerTest
{
public string this[int index] { get { return "Test"; } set {} }
}
}

Loading…
Cancel
Save