diff --git a/.gitignore b/.gitignore
index 6894d318..32762c15 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,4 @@
-#CCRewrite Test folder
-Foxtrot/Tests/Sources/bin/
-Foxtrot/Tests/QuickGraph/QuickGraphBinaries/
-Foxtrot/Tests/RewriteExistingBinaries/
+
# CodeContracts installer
Microsoft.Research/ManagedContract.Setup/devlab9ts/
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index 8df8d888..00000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Contributor Guide
-
-## Open Discussion
-
-The most important part of an open source project is *open discussion*. If a developer, user, or other contributor has
-a question, comment, suggestion, or concern about any part of this project, **please speak up**: create an issue, add
-a comment to an existing issue or pull request or ask a question at jabber chat room at https://jabbr.net/#/rooms/CodeContracts.
-
-This policy especially affects the emoji described below. Any user or contributor may freely use these symbols to
-clarify intent during discussions. Questions and concerns from first-time contributors matter just as much as questions
-and concerns from the original project developers.
-
-## License
-
-The code in this repository is licensed under the MIT license. A complete description of the license, as well as license
-notices for 3rd-party code incorporated into this project, is available in the repository:
-
-* [LICENSE](https://github.com/Microsoft/CodeContracts/blob/master/LICENSE.txt)
-
-## Labels
-
-This project uses many labels for categorizing issues and pull requests.
-
-| Label | Meaning on Issue | Meaning on Pull Request |
-| --- | --- | --- |
-|contract issue| The issue concerns an incorrect or missing contract in the reference source code. | n/a |
-| bug | The issue concerns a bug in the code | The issue concerns a bug in the code |
-| enhancement | The issue is an improvement to the code | The pull request is an improvement to the code |
-| up for grabs | The issue is not assigned to a particular person. If you want to work on it, just add a comment saying so and it's yours! | Normally not applicable (see comments if observed on a pull request) |
-| question | The issue is a question | Normally not applicable (see comments if observed on a pull request) |
-| code review | n/a | The pull request is under review |
-| needs discussion | The issue needs further discussion before an actionable decision can be made | The pull request needs further discussion before an actionable decision can be made |
-| pull request | A pull request intended to address the issue has been created, but not yet merged | n/a |
-| blocked | The issue cannot be fixed until another issue, which may be external, is addressed | The pull request cannot be merged until another issue, which may be external, is addressed |
-| do not merge | n/a | The pull request should not be merged at this time. This could indicate a work-in-progress, a problem in the implementation code, or cases where the pull request depends on (is blocked by) another issue or pull request which has not been addressed. |
-| in progress | A developer is currently working on the issue | A developer is currently making updates to the code in the pull request |
-| fixed | The issue has been resolved | The pull request describes a new issue (i.e. no separate issue exists), and the content of the pull request was merged to fix the issue |
-| duplicate | Another issue or pull request contains the original report for this topic | Another pull request was submitted to correct the issue. This is generally only applied to pull requests after another pull request to correct the issue is merged. |
-| wontfix | The issue will not be corrected. The current behavior could be by design, out of scope, or cannot be changed due to the breaking changes policy for the project (see comments for details). | The pull request will not be merged due to a fundamental issue (see description for this label on issues) |
-
-## Emoji
-
-GitHub provides several emoji which can be included in many areas of the site, especially including comments on issues
-and pull requests. To reduce confusion during evaluation of a pull request, the following emoji convey special intent.
-
-* :question: (`:question:`) Indicates a question. This emoji comes with **no strings attached**, which means it's fine
- to simply answer the question in another comment without making any changes to code.
-
- In general, pull requests with an unanswered question will not be merged until *someone* addresses it. This could be
- the original creator of the issue or pull request, another contributor to the project, or even the person who asked
- the question.
-
-* :exclamation: (`:exclamation:`) Indicates a problem with the code which will need to be addressed before changes can
- be merged into `master`. This *may* be accompanied by a specific suggestion for how to change the code. Any
- contributor is completely welcome to open a discussion regarding alternative solutions, even if the originally
- proposed change has already been made.
-
- Every active contributor to a project is likely to use the :exclamation: emoji (or similar) due to a simple
- misunderstanding or oversight in their evaluation. **This is absolutely fine.** If you notice a case like this, simply
- add a comment to clarify the intent and the exclamation can be considered resolved.
-
- Pull requests with an unresolved exclamation will not be merged until they are addressed by either a change in the
- code or a detailed explanation. While it is possible for code with an exclamation to be merged, this will usually only
- occur if *all* of the following conditions hold:
-
- * The rationale is fully and clearly explained
- * The code corrects an issue that is likely to affect users
- * All other proposed solutions are either too time-consuming to implement or are equally (or more) problematic
-
-* :bulb: (`:bulb:`) Indicates an idea or suggestion regarding a potential change in the code. These items will not
- necessarily block the inclusion of code into the `master` branch, especially in cases where suggestions are trivial
- and no other issues were found during code review.
-
- In certain trivial cases (e.g. a simple formatting change), a core contributor on the project may make the suggested
- change themselves in the process of merging a pull request. Like the :exclamation: emoji, :bulb: suggestions invite
- open discussion about alternative solutions from any contributor.
\ No newline at end of file
diff --git a/Foxtrot/Foxtrot/Extractor.cs b/Foxtrot/Foxtrot/Extractor.cs
index 10b6081c..9f3dab2d 100644
--- a/Foxtrot/Foxtrot/Extractor.cs
+++ b/Foxtrot/Foxtrot/Extractor.cs
@@ -2326,7 +2326,6 @@ public Block Apply(Block block) {
return result;
}
}
-
///
/// Use the same assumption as the extractor for a non-iterator method: the preambles are
/// in the first block.
@@ -2351,14 +2350,14 @@ StatementList GetContractClumpFromMoveNext(Method iteratorMethod, Method moveNex
{
linkerVersion = iteratorMethod.DeclaringType.DeclaringModule.LinkerMajorVersion;
}
-
- var initialState = moveNext.IsAsync ? -1 : 0;
+ var isRoslyn = linkerVersion == 48;
+ var initialState = moveNext.IsAsync && !isRoslyn ? -1 : 0;
moveNext.MoveNextStartState = initialState;
originalContractPosition = null;
int statementIndex;
Contract.Assume(moveNext.Body != null);
Contract.Assume(moveNext.Body.Statements != null);
- int blockIndex = ContractStartInMoveNext(this.contractNodes, moveNext, out statementIndex, iteratorMethod);
+ int blockIndex = ContractStartInMoveNext(this.contractNodes, moveNext, out statementIndex, iteratorMethod, isRoslyn);
Contract.Assert(statementIndex >= 0, "should follow from the postcondiiton");
if (blockIndex < 0) {
// Couldn't find state 0 in MoveNext method
@@ -2505,12 +2504,15 @@ enum EvalKind { None = 0, IsStateValue, IsFinalCompare, IsDisposingTest }
/// - assignment to state
/// - unconditional branch
///
- /// Wrinkle is async methods that are not really async and C# still emits a closure etc, but
+ /// Wrinkle: in Rosly, the initial async state is also 0, not -1.
+ /// The context uses the linker version to determine if this assembly was Roslyn generated.
+ ///
+ /// Another wrinkle is async methods that are not really async and C# still emits a closure etc, but
/// the method does not test the async state at all.
///
[ContractVerification(true)]
[Pure]
- static int ContractStartInMoveNext(ContractNodes contractNodes, Method moveNext, out int statementIndex, Method origMethod)
+ static int ContractStartInMoveNext(ContractNodes contractNodes, Method moveNext, out int statementIndex, Method origMethod, bool isRoslyn)
{
Contract.Requires(contractNodes != null);
Contract.Requires(moveNext != null);
@@ -2563,7 +2565,7 @@ static int ContractStartInMoveNext(ContractNodes contractNodes, Method moveNext,
lastBranchNonConditional = true;
goto OuterLoop;
}
- var value = EvaluateExpression(branch.Condition, env, seenFinalCompare, isAsync);
+ var value = EvaluateExpression(branch.Condition, env, seenFinalCompare, isAsync, isRoslyn);
if (value.Two == EvalKind.IsDisposingTest)
{
if (value.One != 0)
@@ -2617,7 +2619,7 @@ static int ContractStartInMoveNext(ContractNodes contractNodes, Method moveNext,
statementIndex = i;
return currentBlockIndex;
}
- var value = EvaluateExpression(swtch.Expression, env, seenFinalCompare, isAsync);
+ var value = EvaluateExpression(swtch.Expression, env, seenFinalCompare, isAsync, isRoslyn);
if (value.One < 0 || swtch.Targets == null || value.One >= swtch.Targets.Count)
{
// fall through
@@ -2647,7 +2649,7 @@ static int ContractStartInMoveNext(ContractNodes contractNodes, Method moveNext,
statementIndex = i;
return currentBlockIndex;
}
- var value = EvaluateExpression(assign.Source, env, seenFinalCompare, isAsync);
+ var value = EvaluateExpression(assign.Source, env, seenFinalCompare, isAsync, isRoslyn);
if (IsThisDotState(assign.Target))
{
// end of trace
@@ -2700,7 +2702,7 @@ static int ContractStartInMoveNext(ContractNodes contractNodes, Method moveNext,
break;
default:
- Contract.Assume(false, string.Format("Unexpected node type '{0}'", stmt.NodeType));
+ Contract.Assume(false);
return -1;
}
}
@@ -2746,15 +2748,15 @@ static bool IsDoFinallyBodies(Expression expression)
}
[ContractVerification(true)]
- static private Pair EvaluateExpression(Expression expression, Dictionary> env, bool ignoreUnknown, bool isAsync)
+ static private Pair EvaluateExpression(Expression expression, Dictionary> env, bool ignoreUnknown, bool isAsync, bool isRoslyn)
{
Contract.Requires(env != null);
var binary = expression as BinaryExpression;
if (binary != null)
{
- var op1 = EvaluateExpression(binary.Operand1, env, ignoreUnknown, isAsync);
- var op2 = EvaluateExpression(binary.Operand2, env, ignoreUnknown, isAsync);
+ var op1 = EvaluateExpression(binary.Operand1, env, ignoreUnknown, isAsync, isRoslyn);
+ var op2 = EvaluateExpression(binary.Operand2, env, ignoreUnknown, isAsync, isRoslyn);
var resultKind = CombineEvalKind(ref op1, ref op2);
switch (binary.NodeType)
{
@@ -2789,7 +2791,7 @@ static private Pair EvaluateExpression(Expression expression, Dic
var unary = expression as UnaryExpression;
if (unary != null)
{
- var op = EvaluateExpression(unary.Operand, env, ignoreUnknown, isAsync);
+ var op = EvaluateExpression(unary.Operand, env, ignoreUnknown, isAsync, isRoslyn);
var resultKind = EvalKind.None;
if (op.Two == EvalKind.IsDisposingTest)
{
@@ -2828,7 +2830,7 @@ static private Pair EvaluateExpression(Expression expression, Dic
return Pair.For(0, EvalKind.IsDisposingTest);
}
if (name.Contains("<>") && name.Contains("__state")) {
- var initialState = isAsync ? -1 : 0;
+ var initialState = isAsync && !isRoslyn ? -1 : 0;
return Pair.For(initialState, EvalKind.IsStateValue);
}
}
diff --git a/Foxtrot/Foxtrot/Utility.cs b/Foxtrot/Foxtrot/Utility.cs
index fe4047fb..6f6e2bdb 100644
--- a/Foxtrot/Foxtrot/Utility.cs
+++ b/Foxtrot/Foxtrot/Utility.cs
@@ -2317,14 +2317,7 @@ public override void VisitConstruct(Construct cons)
} else
{
//Console.WriteLine("Not atomic closure part: {0}", m.FullName);
- var declaringTypeName = m.DeclaringType.Name.Name;
- var name = m.Name.Name;
- string message =
- string.Format(
- "DeclaringName should contain 'DisplayClass' or Name should not have '__'. \r\nDeclaringTypeName: {0}, Name: {1}",
- declaringTypeName, name);
-
- Debug.Assert(declaringTypeName.Contains("DisplayClass") || !name.Contains("__"), message);
+ Debug.Assert(m.DeclaringType.Name.Name.Contains("DisplayClass") || !m.Name.Name.Contains("__"));
}
}
}
diff --git a/Foxtrot/Tests/RewriterTests.cs b/Foxtrot/Tests/RewriterTests.cs
index 8b12bdcb..ff9f4549 100644
--- a/Foxtrot/Tests/RewriterTests.cs
+++ b/Foxtrot/Tests/RewriterTests.cs
@@ -199,11 +199,10 @@ public void BuildRewriteRunFromSourcesV45()
[DeploymentItem("Foxtrot\\Tests\\TestInputs.xml"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\TestInputs.xml", "TestFile", DataAccessMethod.Sequential)]
[TestMethod]
[TestCategory("Runtime"), TestCategory("CoreTest"), TestCategory("Roslyn"), TestCategory("V4.5")]
- [Ignore()] // Old Roslyn bits are not compatible with CCRewrite. Test (and old binaries) should be removed in the next iteration.
public void BuildRewriteRunFromSourcesRoslynV45()
{
var options = new Options(this.TestContext);
- options.IsLegacyRoslyn = true;
+ options.IsRoslyn = true;
options.FoxtrotOptions = options.FoxtrotOptions + String.Format(" /throwonfailure /rw:{0}.exe,TestInfrastructure.RewriterMethods", Path.GetFileNameWithoutExtension(options.TestName));
options.BuildFramework = @"Roslyn\v4.5";
options.ReferencesFramework = @".NetFramework\v4.5";
@@ -211,23 +210,6 @@ public void BuildRewriteRunFromSourcesRoslynV45()
options.UseTestHarness = true;
TestDriver.BuildRewriteRun(options);
}
-
- [DeploymentItem("Foxtrot\\Tests\\TestInputs.xml"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\TestInputs.xml", "TestFile", DataAccessMethod.Sequential)]
- [TestMethod]
- [TestCategory("Runtime"), TestCategory("CoreTest"), TestCategory("Roslyn"), TestCategory("VS14")]
- public void BuildRewriteRunFromSourcesRoslynVS14RC()
- {
- var options = new Options(this.TestContext);
- // For VS14RC+ version compiler name is the same Csc.exe, and behavior from async/iterator perspective is similar
- // to old compiler as well. That's why IsLegacyRoslyn should be false in this test case.
- options.IsLegacyRoslyn = false;
- options.FoxtrotOptions = options.FoxtrotOptions + String.Format(" /throwonfailure /rw:{0}.exe,TestInfrastructure.RewriterMethods", Path.GetFileNameWithoutExtension(options.TestName));
- options.BuildFramework = @"Roslyn\VS14RC";
- options.ReferencesFramework = @".NetFramework\v4.5";
- options.ContractFramework = @".NETFramework\v4.0";
- options.UseTestHarness = true;
- TestDriver.BuildRewriteRun(options);
- }
[DeploymentItem("Foxtrot\\Tests\\TestInputs.xml"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\TestInputs.xml", "TestFile", DataAccessMethod.Sequential)]
diff --git a/Foxtrot/Tests/Sources/async6.cs b/Foxtrot/Tests/Sources/async6.cs
index 7cc0954b..47a709f1 100644
--- a/Foxtrot/Tests/Sources/async6.cs
+++ b/Foxtrot/Tests/Sources/async6.cs
@@ -34,7 +34,6 @@ public static async Task CountThem(T[] values, T other)
var x = values.Length;
if (x == 4) throw new ArgumentException();
- await Task.Delay(42);
return x;
}
}
diff --git a/Foxtrot/Tests/TestDriver.cs b/Foxtrot/Tests/TestDriver.cs
index 69da7111..70baec58 100644
--- a/Foxtrot/Tests/TestDriver.cs
+++ b/Foxtrot/Tests/TestDriver.cs
@@ -62,10 +62,6 @@ internal static object Rewrite(string absoluteSourceDir, string absoluteBinary,
{
if (options.MustSucceed)
{
- if (capture.ExitCode != 0)
- {
- Console.WriteLine("");
- }
Assert.AreEqual(0, capture.ExitCode, "{0} returned an errorcode of {1}.", FoxtrotExe, capture.ExitCode);
}
return capture;
@@ -451,10 +447,7 @@ public string TestName
}
}
- ///
- /// Should be true, if old (pre-RC) Roslyn compiler needs to be used.
- ///
- public bool IsLegacyRoslyn { get; set; }
+ public bool IsRoslyn { get; set; }
public string Compiler
{
@@ -463,7 +456,7 @@ public string Compiler
switch (compilerCode)
{
case "VB":
- if (IsLegacyRoslyn)
+ if (IsRoslyn)
{
return "rvbc.exe";
}
@@ -472,7 +465,7 @@ public string Compiler
return "vbc.exe";
}
default:
- if (IsLegacyRoslyn)
+ if (IsRoslyn)
{
return "rcsc.exe";
}
@@ -485,14 +478,14 @@ public string Compiler
}
bool IsV40 { get { return this.BuildFramework.Contains("v4.0"); } }
- bool IsV45 { get { return this.BuildFramework.Contains("v4.5") || BuildFramework.Contains("VS14"); } }
+ bool IsV45 { get { return this.BuildFramework.Contains("v4.5"); } }
bool IsSilverlight { get { return this.BuildFramework.Contains("Silverlight"); } }
string Moniker
{
get
{
- if (!IsLegacyRoslyn) { return FrameworkMoniker; }
+ if (!IsRoslyn) { return FrameworkMoniker; }
if (compilerCode == "VB")
{
return FrameworkMoniker + ",ROSLYN";
diff --git a/Foxtrot/Tests/UnitTests/RewrittenContractTest.cs b/Foxtrot/Tests/UnitTests/RewrittenContractTest.cs
index f03fd6c1..340a399a 100644
--- a/Foxtrot/Tests/UnitTests/RewrittenContractTest.cs
+++ b/Foxtrot/Tests/UnitTests/RewrittenContractTest.cs
@@ -70,6 +70,7 @@ private static int RunProcess(string cwd, string tool, string arguments)
[AssemblyInitialize]
public static void AssembyInitialize(TestContext context)
{
+
//
// VERY IMPORTANT!! Do NOT do anything that caused any type from CodeUnderTest.dll to be loaded
// before the assembly is rewritten!!!
@@ -85,9 +86,8 @@ public static void AssembyInitialize(TestContext context)
var deploymentDir = Directory.GetCurrentDirectory();
var testResultPosition = deploymentDir.IndexOf(@"TestResults");
-
- Assert.IsTrue(testResultPosition != -1,
- string.Format("Can't find the TestResults directory!!! Current deployment directory is '{0}'", deploymentDir));
+
+ Assert.IsTrue(testResultPosition != -1, "Can't find the TestResults directory!!!");
var testDirRoot = deploymentDir.Substring(0, testResultPosition);
diff --git a/Microsoft.Research/Imported/Tools/.NETFramework/v4.5/msvcp110_clr0400.dll b/Microsoft.Research/Imported/Tools/.NETFramework/v4.5/msvcp110_clr0400.dll
deleted file mode 100644
index 24d7a351..00000000
Binary files a/Microsoft.Research/Imported/Tools/.NETFramework/v4.5/msvcp110_clr0400.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/.NETFramework/v4.5/msvcr110_clr0400.dll b/Microsoft.Research/Imported/Tools/.NETFramework/v4.5/msvcr110_clr0400.dll
deleted file mode 100644
index a2d6a95d..00000000
Binary files a/Microsoft.Research/Imported/Tools/.NETFramework/v4.5/msvcr110_clr0400.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/CvtResUI.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/CvtResUI.dll
deleted file mode 100644
index f6ebc984..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/CvtResUI.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/FileTrackerUI.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/FileTrackerUI.dll
deleted file mode 100644
index 345e9365..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/FileTrackerUI.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/IlDasmrc.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/IlDasmrc.dll
deleted file mode 100644
index 2314ff1d..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/IlDasmrc.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/Microsoft.VisualBasic.Activities.CompilerUI.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/Microsoft.VisualBasic.Activities.CompilerUI.dll
deleted file mode 100644
index 2e1ef0b1..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/Microsoft.VisualBasic.Activities.CompilerUI.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/TrackerUI.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/TrackerUI.dll
deleted file mode 100644
index 26a4302a..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/TrackerUI.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/alinkui.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/alinkui.dll
deleted file mode 100644
index aeba03b8..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/alinkui.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/cscui.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/cscui.dll
deleted file mode 100644
index 709c0247..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/cscui.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/flogvwrc.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/flogvwrc.dll
deleted file mode 100644
index 08e77ae7..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/flogvwrc.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/gacutlrc.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/gacutlrc.dll
deleted file mode 100644
index 5b944902..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/gacutlrc.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/pevrfyrc.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/pevrfyrc.dll
deleted file mode 100644
index e32d4dbf..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/pevrfyrc.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/snrc.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/snrc.dll
deleted file mode 100644
index 10847d6d..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/snrc.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/vbc7ui.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/vbc7ui.dll
deleted file mode 100644
index 53992c56..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/1033/vbc7ui.dll and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/PEVerify.exe b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/PEVerify.exe
deleted file mode 100644
index 66698fc2..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/PEVerify.exe and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/PEVerify.exe.config b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/PEVerify.exe.config
deleted file mode 100644
index 0094e8d3..00000000
--- a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/PEVerify.exe.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/_readme.txt b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/_readme.txt
deleted file mode 100644
index df3a477e..00000000
--- a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/_readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-Roslyn bits was taken from installed VS14RC.
\ No newline at end of file
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/csc.exe b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/csc.exe
deleted file mode 100644
index c87e0695..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/csc.exe and /dev/null differ
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/csc.exe.config b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/csc.exe.config
deleted file mode 100644
index 39b6572c..00000000
--- a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/csc.exe.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/csc.rsp b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/csc.rsp
deleted file mode 100644
index aee022cb..00000000
--- a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/csc.rsp
+++ /dev/null
@@ -1,44 +0,0 @@
-# This file contains command-line options that the C#
-# command line compiler (CSC) will process as part
-# of every compilation, unless the "/noconfig" option
-# is specified.
-
-# Reference the common Framework libraries
-/r:Accessibility.dll
-/r:Microsoft.CSharp.dll
-/r:System.Configuration.dll
-/r:System.Configuration.Install.dll
-/r:System.Core.dll
-/r:System.Data.dll
-/r:System.Data.DataSetExtensions.dll
-/r:System.Data.Linq.dll
-/r:System.Data.OracleClient.dll
-/r:System.Deployment.dll
-/r:System.Design.dll
-/r:System.DirectoryServices.dll
-/r:System.dll
-/r:System.Drawing.Design.dll
-/r:System.Drawing.dll
-/r:System.EnterpriseServices.dll
-/r:System.Management.dll
-/r:System.Messaging.dll
-/r:System.Runtime.Remoting.dll
-/r:System.Runtime.Serialization.dll
-/r:System.Runtime.Serialization.Formatters.Soap.dll
-/r:System.Security.dll
-/r:System.ServiceModel.dll
-/r:System.ServiceModel.Web.dll
-/r:System.ServiceProcess.dll
-/r:System.Transactions.dll
-/r:System.Web.dll
-/r:System.Web.Extensions.Design.dll
-/r:System.Web.Extensions.dll
-/r:System.Web.Mobile.dll
-/r:System.Web.RegularExpressions.dll
-/r:System.Web.Services.dll
-/r:System.Windows.Forms.Dll
-/r:System.Workflow.Activities.dll
-/r:System.Workflow.ComponentModel.dll
-/r:System.Workflow.Runtime.dll
-/r:System.Xml.dll
-/r:System.Xml.Linq.dll
diff --git a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/peverify.dll b/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/peverify.dll
deleted file mode 100644
index ad840b5e..00000000
Binary files a/Microsoft.Research/Imported/Tools/Roslyn/VS14RC/peverify.dll and /dev/null differ
diff --git a/buildCC.bat b/buildCC.bat
index e5d8f300..7d86f71a 100644
--- a/buildCC.bat
+++ b/buildCC.bat
@@ -1,9 +1,9 @@
-@echo off
-cd Microsoft.Research\ManagedContract.Setup
-call buildmsi %1 devlab9ts
-call buildnuget %1 devlab9ts
-cd ..\..
-echo .
-echo ****************************************************
-echo Done building CodeContracts version %1
-echo ****************************************************
+@echo off
+cd Microsoft.Research\ManagedContract.Setup
+call buildmsi %1 devlab9ts
+call buildnuget %1 devlab9ts
+cd ..\..
+echo .
+echo ****************************************************
+echo Done building CodeContracts version %1
+echo ****************************************************