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()