diff --git a/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj b/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj index f137ad0d6b..5b1c706ebc 100644 --- a/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj +++ b/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj @@ -69,7 +69,6 @@ - @@ -97,7 +96,6 @@ - diff --git a/src/AddIns/BackendBindings/Scripting/Project/Src/ILock.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/ILock.cs deleted file mode 100644 index 02ffedf070..0000000000 --- a/src/AddIns/BackendBindings/Scripting/Project/Src/ILock.cs +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) -// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) - -using System; -using System.Collections.Generic; - -namespace ICSharpCode.Scripting -{ - public interface ILock : IDisposable - { - } -} diff --git a/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsole.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsole.cs index 2fad25d220..afe8f15e3b 100644 --- a/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsole.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsole.cs @@ -37,7 +37,7 @@ namespace ICSharpCode.Scripting /// /// Returns the next line typed in by the console user. If no line is available this method - /// will block. + /// will return null. /// public string ReadLine(int autoIndentSize) { @@ -102,9 +102,7 @@ namespace ICSharpCode.Scripting /// public bool IsLineAvailable { get { - lock (unreadLines) { - return (unreadLines.Count > 0); - } + return (unreadLines.Count > 0); } } @@ -125,12 +123,10 @@ namespace ICSharpCode.Scripting string ReadLineFromTextEditor() { - lock (unreadLines) { - if (IsLineAvailable) { - string line = unreadLines[0]; - unreadLines.RemoveAt(0); - return line; - } + if (IsLineAvailable) { + string line = unreadLines[0]; + unreadLines.RemoveAt(0); + return line; } return null; } @@ -188,12 +184,10 @@ namespace ICSharpCode.Scripting void OnEnterKeyPressed() { - using (ILock linesLock = CreateLock(unreadLines)) { - MoveCursorToEndOfLastTextEditorLine(); - SaveLastTextEditorLine(); - - FireLineReceivedEvent(); - } + MoveCursorToEndOfLastTextEditorLine(); + SaveLastTextEditorLine(); + + FireLineReceivedEvent(); } protected virtual void OnLineReceived() @@ -296,19 +290,12 @@ namespace ICSharpCode.Scripting public void SendLine(string line) { - using (ILock linesLock = CreateLock(unreadLines)) { - unreadLines.Add(line); - } + unreadLines.Add(line); FireLineReceivedEvent(); MoveCursorToEndOfLastTextEditorLine(); WriteTextIfFirstPromptHasBeenDisplayed(line + "\r\n"); } - protected virtual ILock CreateLock(List lines) - { - return new StringListLock(lines); - } - protected virtual void FireLineReceivedEvent() { OnLineReceived(); @@ -345,9 +332,7 @@ namespace ICSharpCode.Scripting string firstLine = GetFirstLineOfText(lines); if (lines.Count > 1) { - using (ILock linesLock = CreateLock(unreadLines)) { - AddAllLinesButLastToUnreadLines(lines); - } + AddAllLinesButLastToUnreadLines(lines); FireLineReceivedEvent(); } lines.RemoveAt(0); diff --git a/src/AddIns/BackendBindings/Scripting/Project/Src/StringListLock.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/StringListLock.cs deleted file mode 100644 index 6e68db8580..0000000000 --- a/src/AddIns/BackendBindings/Scripting/Project/Src/StringListLock.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) -// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) - -using System; -using System.Collections.Generic; -using System.Threading; - -namespace ICSharpCode.Scripting -{ - public class StringListLock : ILock - { - List lines; - - public StringListLock(List lines) - { - this.lines = lines; - Lock(); - } - - void Lock() - { - Monitor.Enter(lines); - } - - public void Dispose() - { - Unlock(); - } - - void Unlock() - { - Monitor.Exit(lines); - } - } -} diff --git a/src/AddIns/BackendBindings/Scripting/Test/Console/ScriptingConsoleSendLineTests.cs b/src/AddIns/BackendBindings/Scripting/Test/Console/ScriptingConsoleSendLineTests.cs index 8c0088696a..fd43e342a3 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Console/ScriptingConsoleSendLineTests.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Console/ScriptingConsoleSendLineTests.cs @@ -31,45 +31,6 @@ namespace ICSharpCode.Scripting.Tests.Console TestableScriptingConsole.SendLine(text); } - [Test] - public void SendLine_NoUnreadLines_CreatesLockForPreviousLines() - { - SendLineToConsole("test"); - List lines = TestableScriptingConsole.LockCreated.Lines; - List expectedLines = TestableScriptingConsole.GetUnreadLinesList(); - - Assert.AreEqual(expectedLines, lines); - } - - [Test] - public void SendLine_NoUnreadLines_LockForPreviousLinesIsDisposed() - { - SendLineToConsole("test"); - bool disposed = TestableScriptingConsole.LockCreated.IsDisposed; - - Assert.IsTrue(disposed); - } - - [Test] - public void SendLine_NoUnreadLines_LineNotAddedBeforeLockCreated() - { - SendLineToConsole("test"); - int count = TestableScriptingConsole.LockCreated.UnreadLineCountWhenLockCreated; - int expectedCount = 0; - - Assert.AreEqual(expectedCount, count); - } - - [Test] - public void SendLine_NoUnreadLines_LineAddedBeforeLockDisposed() - { - SendLineToConsole("test"); - int count = TestableScriptingConsole.LockCreated.UnreadLineCountWhenLockDisposed; - int expectedCount = 1; - - Assert.AreEqual(expectedCount, count); - } - [Test] public void SendLine_NoUnreadLines_LineReceivedEventIsFired() { diff --git a/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj b/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj index 5a4a908fc6..ef80e6b8d3 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj +++ b/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj @@ -124,7 +124,6 @@ - diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeLock.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeLock.cs deleted file mode 100644 index fa1ddc4566..0000000000 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeLock.cs +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) -// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) - -using System; -using System.Collections.Generic; -using ICSharpCode.Scripting; - -namespace ICSharpCode.Scripting.Tests.Utils -{ - public class FakeLock : ILock - { - public List Lines; - public bool IsDisposed; - public int UnreadLineCountWhenLockCreated = -1; - public int UnreadLineCountWhenLockDisposed = -1; - - public FakeLock(List lines) - { - this.Lines = lines; - UnreadLineCountWhenLockCreated = lines.Count; - } - - public void Dispose() - { - UnreadLineCountWhenLockDisposed = Lines.Count; - IsDisposed = true; - } - } -} diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/TestableScriptingConsole.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/TestableScriptingConsole.cs index 47af11d9c0..6343cbe08f 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/TestableScriptingConsole.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/TestableScriptingConsole.cs @@ -11,7 +11,6 @@ namespace ICSharpCode.Scripting.Tests.Utils public class TestableScriptingConsole : ScriptingConsole { public FakeConsoleTextEditor FakeConsoleTextEditor; - public FakeLock LockCreated; public bool IsLineReceivedEventFired; public int UnreadLineCountWhenLineReceivedEventFired = -1; @@ -37,16 +36,10 @@ namespace ICSharpCode.Scripting.Tests.Utils return base.unreadLines.ToArray(); } - protected override ILock CreateLock(List lines) - { - LockCreated = new FakeLock(lines); - return LockCreated; - } - protected override void FireLineReceivedEvent() { IsLineReceivedEventFired = true; - UnreadLineCountWhenLineReceivedEventFired = LockCreated.Lines.Count; + UnreadLineCountWhenLineReceivedEventFired = base.unreadLines.Count; } public void CallBaseFireLineReceivedEvent()