From 1be427d6d3c4d46903e854e1e79fd07a355b8859 Mon Sep 17 00:00:00 2001 From: Marek Safar Date: Thu, 17 Feb 2011 21:06:35 +0000 Subject: Fix repl using declaration after type declaration --- mcs/class/Mono.CSharp/Test/Evaluator/TypesTest.cs | 8 ++++++++ mcs/mcs/eval.cs | 1 + 2 files changed, 9 insertions(+) diff --git a/mcs/class/Mono.CSharp/Test/Evaluator/TypesTest.cs b/mcs/class/Mono.CSharp/Test/Evaluator/TypesTest.cs index c956c399d58..93fbcb4a0e5 100644 --- a/mcs/class/Mono.CSharp/Test/Evaluator/TypesTest.cs +++ b/mcs/class/Mono.CSharp/Test/Evaluator/TypesTest.cs @@ -44,5 +44,13 @@ namespace MonoTests.EvaluatorTest object res = Evaluator.Evaluate ("typeof (Z);"); Assert.AreEqual ("Z", res.ToString ()); } + + [Test] + public void UsingAfterType () + { + Evaluator.Run ("struct Z { }"); + Evaluator.Run ("using System;"); + Evaluator.Run ("struct Z { }"); + } } } \ No newline at end of file diff --git a/mcs/mcs/eval.cs b/mcs/mcs/eval.cs index 61aee92b88c..f8aaaf33778 100644 --- a/mcs/mcs/eval.cs +++ b/mcs/mcs/eval.cs @@ -548,6 +548,7 @@ namespace Mono.CSharp if (ns == null) ns = new NamespaceEntry (module, null, Location.SourceFiles[0], null); + ns.DeclarationFound = false; CSharpParser parser = new CSharpParser (seekable, Location.SourceFiles [0], module, ns); if (kind == InputKind.StatementOrExpression){ -- cgit v1.2.3