Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xamarin/NRefactory.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Grunwald <daniel@danielgrunwald.de>2016-11-25 20:25:35 +0300
committerDaniel Grunwald <daniel@danielgrunwald.de>2016-11-25 20:25:35 +0300
commitab1c3381e80dfdc4bb3062f29fad17dab7b0e4e5 (patch)
tree418972fe467396ac5474593a27bccb010b857024
parent3c638f6c43d77922e4a14c5af1b224e9563236f2 (diff)
Fix TypeGuessing (don't unintentionally create ref locals)
-rw-r--r--ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs1
-rw-r--r--ICSharpCode.NRefactory.CSharp/Refactoring/TypeGuessing.cs2
2 files changed, 2 insertions, 1 deletions
diff --git a/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs b/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs
index 3ce4b4c0..df6821de 100644
--- a/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs
+++ b/ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-tokenizer.cs
@@ -3212,7 +3212,6 @@ namespace ICSharpCode.NRefactory.MonoCSharp
value_builder[pos++] = (char) c;
}
- recordNewLine = true;
}
private int consume_identifier (int s)
diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/TypeGuessing.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/TypeGuessing.cs
index dd04185b..3ffe72ce 100644
--- a/ICSharpCode.NRefactory.CSharp/Refactoring/TypeGuessing.cs
+++ b/ICSharpCode.NRefactory.CSharp/Refactoring/TypeGuessing.cs
@@ -313,6 +313,8 @@ namespace ICSharpCode.NRefactory.CSharp
var typeInference = new TypeInference(context.Compilation);
typeInference.Algorithm = TypeInferenceAlgorithm.Improved;
var inferedType = typeInference.FindTypeInBounds(type, emptyTypes);
+ if (inferedType.Kind == TypeKind.ByReference)
+ inferedType = ((ByReferenceType)inferedType).ElementType;
if (inferedType.Kind == TypeKind.Unknown)
return new PrimitiveType("object");
return context.CreateShortType(inferedType);