Browse Source

Adjust ILSpy to new NRefactory and ICSharpCode.Decompiler versions.

pull/596/merge
Daniel Grunwald 11 years ago
parent
commit
fa2b392707
  1. 2
      ICSharpCode.Decompiler/Ast/TextTokenWriter.cs
  2. 1
      ICSharpCode.Decompiler/DecompilerSettings.cs
  3. 39
      ICSharpCode.Decompiler/Tests/QueryExpressions.cs
  4. 5
      ILSpy/DecompileEventArgs.cs
  5. 3
      ILSpy/ILSpy.csproj
  6. 6
      ILSpy/TextView/AvalonEditTextOutput.cs
  7. 23
      NRefactory/ICSharpCode.NRefactory.VB/Visitors/CSharpToVBConverterVisitor.cs
  8. 8
      TestPlugin/TestPlugin.csproj
  9. 5
      TestPlugin/packages.config
  10. 1
      packages/repositories.config

2
ICSharpCode.Decompiler/Ast/TextTokenWriter.cs

@ -291,7 +291,7 @@ namespace ICSharpCode.Decompiler.Ast @@ -291,7 +291,7 @@ namespace ICSharpCode.Decompiler.Ast
public override void WritePrimitiveValue(object value, string literalValue = null)
{
new TextWriterTokenWriter(new TextOutputWriter(output)).WritePrimitiveValue(value, literalValue);
}
public override void WritePrimitiveType(string type)

1
ICSharpCode.Decompiler/DecompilerSettings.cs

@ -321,6 +321,7 @@ namespace ICSharpCode.Decompiler @@ -321,6 +321,7 @@ namespace ICSharpCode.Decompiler
if (csharpFormattingOptions == null) {
csharpFormattingOptions = FormattingOptionsFactory.CreateAllman();
csharpFormattingOptions.IndentSwitchBody = false;
csharpFormattingOptions.ArrayInitializerWrapping = Wrapping.WrapAlways;
}
return csharpFormattingOptions;
}

39
ICSharpCode.Decompiler/Tests/QueryExpressions.cs

@ -52,8 +52,7 @@ public class QueryExpressions @@ -52,8 +52,7 @@ public class QueryExpressions
public object MultipleWhere()
{
return
from c in this.customers
return from c in this.customers
where c.Orders.Count<QueryExpressions.Order>() > 10
where c.Country == "DE"
select c;
@ -61,8 +60,7 @@ public class QueryExpressions @@ -61,8 +60,7 @@ public class QueryExpressions
public object SelectManyFollowedBySelect()
{
return
from c in this.customers
return from c in this.customers
from o in c.Orders
select new
{
@ -74,8 +72,7 @@ public class QueryExpressions @@ -74,8 +72,7 @@ public class QueryExpressions
public object SelectManyFollowedByOrderBy()
{
return
from c in this.customers
return from c in this.customers
from o in c.Orders
orderby o.Total descending
select new
@ -88,8 +85,7 @@ public class QueryExpressions @@ -88,8 +85,7 @@ public class QueryExpressions
public object MultipleSelectManyFollowedBySelect()
{
return
from c in this.customers
return from c in this.customers
from o in c.Orders
from d in o.Details
select new
@ -102,8 +98,7 @@ public class QueryExpressions @@ -102,8 +98,7 @@ public class QueryExpressions
public object MultipleSelectManyFollowedByLet()
{
return
from c in this.customers
return from c in this.customers
from o in c.Orders
from d in o.Details
let x = d.Quantity * d.UnitPrice
@ -117,8 +112,7 @@ public class QueryExpressions @@ -117,8 +112,7 @@ public class QueryExpressions
public object FromLetWhereSelect()
{
return
from o in this.orders
return from o in this.orders
let t = o.Details.Sum((QueryExpressions.OrderDetail d) => d.UnitPrice * d.Quantity)
where t >= 1000m
select new
@ -130,8 +124,7 @@ public class QueryExpressions @@ -130,8 +124,7 @@ public class QueryExpressions
public object MultipleLet()
{
return
from a in this.customers
return from a in this.customers
let b = a.Country
let c = a.Name
select b + c;
@ -139,8 +132,7 @@ public class QueryExpressions @@ -139,8 +132,7 @@ public class QueryExpressions
public object Join()
{
return
from c in this.customers
return from c in this.customers
join o in this.orders on c.CustomerID equals o.CustomerID
select new
{
@ -152,8 +144,7 @@ public class QueryExpressions @@ -152,8 +144,7 @@ public class QueryExpressions
public object JoinInto()
{
return
from c in this.customers
return from c in this.customers
join o in this.orders on c.CustomerID equals o.CustomerID into co
let n = co.Count<QueryExpressions.Order>()
where n >= 10
@ -166,31 +157,27 @@ public class QueryExpressions @@ -166,31 +157,27 @@ public class QueryExpressions
public object OrderBy()
{
return
from o in this.orders
return from o in this.orders
orderby o.Customer.Name, o.Total descending
select o;
}
public object GroupBy()
{
return
from c in this.customers
return from c in this.customers
group c.Name by c.Country;
}
public object ExplicitType()
{
return
from QueryExpressions.Customer c in this.customers
return from QueryExpressions.Customer c in this.customers
where c.City == "London"
select c;
}
public object QueryContinuation()
{
return
from c in this.customers
return from c in this.customers
group c by c.Country into g
select new
{

5
ILSpy/DecompileEventArgs.cs

@ -32,11 +32,6 @@ namespace ICSharpCode.ILSpy @@ -32,11 +32,6 @@ namespace ICSharpCode.ILSpy
[Obsolete]
public sealed class DecompileEventArgs : EventArgs
{
/// <summary>
/// Gets or sets the code mappings
/// </summary>
public Dictionary<int, List<MemberMapping>> CodeMappings { get; internal set; }
/// <summary>
/// Gets or sets the local variables.
/// </summary>

3
ILSpy/ILSpy.csproj

@ -58,6 +58,9 @@ @@ -58,6 +58,9 @@
<Reference Include="ICSharpCode.NRefactory">
<HintPath>..\packages\ICSharpCode.NRefactory.5.5.1\lib\Net40\ICSharpCode.NRefactory.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.NRefactory.Cecil">
<HintPath>..\packages\ICSharpCode.NRefactory.5.5.1\lib\Net40\ICSharpCode.NRefactory.Cecil.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.NRefactory.CSharp">
<HintPath>..\packages\ICSharpCode.NRefactory.5.5.1\lib\Net40\ICSharpCode.NRefactory.CSharp.dll</HintPath>
</Reference>

6
ILSpy/TextView/AvalonEditTextOutput.cs

@ -92,7 +92,7 @@ namespace ICSharpCode.ILSpy.TextView @@ -92,7 +92,7 @@ namespace ICSharpCode.ILSpy.TextView
/// <summary>Embedded UIElements, see <see cref="UIElementGenerator"/>.</summary>
internal readonly List<KeyValuePair<int, Lazy<UIElement>>> UIElements = new List<KeyValuePair<int, Lazy<UIElement>>>();
internal readonly List<MemberMapping> DebuggerMemberMappings = new List<MemberMapping>();
internal readonly List<MethodDebugSymbols> DebuggerMemberMappings = new List<MethodDebugSymbols>();
public AvalonEditTextOutput()
{
@ -250,9 +250,9 @@ namespace ICSharpCode.ILSpy.TextView @@ -250,9 +250,9 @@ namespace ICSharpCode.ILSpy.TextView
}
}
public void AddDebuggerMemberMapping(MemberMapping memberMapping)
public void AddDebugSymbols(MethodDebugSymbols methodDebugSymbols)
{
DebuggerMemberMappings.Add(memberMapping);
DebuggerMemberMappings.Add(methodDebugSymbols);
}
}
}

23
NRefactory/ICSharpCode.NRefactory.VB/Visitors/CSharpToVBConverterVisitor.cs

@ -714,11 +714,6 @@ namespace ICSharpCode.NRefactory.VB.Visitors @@ -714,11 +714,6 @@ namespace ICSharpCode.NRefactory.VB.Visitors
return EndNode(uncheckedExpression, uncheckedExpression.Expression.AcceptVisitor(this, data));
}
public AstNode VisitEmptyExpression(CSharp.EmptyExpression emptyExpression, object data)
{
return EndNode(emptyExpression, new EmptyExpression());
}
public AstNode VisitQueryExpression(CSharp.QueryExpression queryExpression, object data)
{
var expr = new QueryExpression();
@ -842,7 +837,9 @@ namespace ICSharpCode.NRefactory.VB.Visitors @@ -842,7 +837,9 @@ namespace ICSharpCode.NRefactory.VB.Visitors
{
var newNamespace = new NamespaceDeclaration();
ConvertNodes(namespaceDeclaration.Identifiers, newNamespace.Identifiers);
foreach (string id in namespaceDeclaration.Identifiers) {
newNamespace.Identifiers.Add(new Identifier(id, TextLocation.Empty));
}
ConvertNodes(namespaceDeclaration.Members, newNamespace.Members);
return EndNode(namespaceDeclaration, newNamespace);
@ -1656,7 +1653,7 @@ namespace ICSharpCode.NRefactory.VB.Visitors @@ -1656,7 +1653,7 @@ namespace ICSharpCode.NRefactory.VB.Visitors
foreach (var type in current.ImplementsTypes) {
var resolved = provider.ResolveType(type, current);
var found = resolved.GetMembers(m => m.EntityType == EntityType.Method && m.Name == result.Name.Name);
var found = resolved.GetMembers(m => m.SymbolKind == SymbolKind.Method && m.Name == result.Name.Name);
if (found.FirstOrDefault() != null) {
result.ImplementsClause.Add(new InterfaceMemberSpecifier((AstType)type.Clone(), found.FirstOrDefault().Name));
}
@ -1672,7 +1669,7 @@ namespace ICSharpCode.NRefactory.VB.Visitors @@ -1672,7 +1669,7 @@ namespace ICSharpCode.NRefactory.VB.Visitors
foreach (var type in current.ImplementsTypes) {
var resolved = provider.ResolveType(type, current);
var found = resolved.GetMembers(m => m.EntityType == EntityType.Event && m.Name == result.Name.Name);
var found = resolved.GetMembers(m => m.SymbolKind == SymbolKind.Event && m.Name == result.Name.Name);
if (found.FirstOrDefault() != null) {
result.ImplementsClause.Add(new InterfaceMemberSpecifier((AstType)type.Clone(), found.FirstOrDefault().Name));
}
@ -2271,5 +2268,15 @@ namespace ICSharpCode.NRefactory.VB.Visitors @@ -2271,5 +2268,15 @@ namespace ICSharpCode.NRefactory.VB.Visitors
{
return null;
}
public AstNode VisitNullNode(ICSharpCode.NRefactory.CSharp.AstNode nullNode, object data)
{
return null;
}
public AstNode VisitErrorNode(ICSharpCode.NRefactory.CSharp.AstNode errorNode, object data)
{
return null;
}
}
}

8
TestPlugin/TestPlugin.csproj

@ -43,6 +43,13 @@ @@ -43,6 +43,13 @@
<StartProgram>bin\Release\ILSpy.exe</StartProgram>
</PropertyGroup>
<ItemGroup>
<Reference Include="ICSharpCode.NRefactory">
<HintPath>..\packages\ICSharpCode.NRefactory.5.5.1\lib\Net40\ICSharpCode.NRefactory.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ICSharpCode.NRefactory.CSharp">
<HintPath>..\packages\ICSharpCode.NRefactory.5.5.1\lib\Net40\ICSharpCode.NRefactory.CSharp.dll</HintPath>
</Reference>
<Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework>
</Reference>
@ -79,6 +86,7 @@ @@ -79,6 +86,7 @@
</ItemGroup>
<ItemGroup>
<Resource Include="Clear.png" />
<None Include="packages.config" />
<None Include="Readme.txt" />
</ItemGroup>
<ItemGroup>

5
TestPlugin/packages.config

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ICSharpCode.NRefactory" version="5.5.1" targetFramework="net40" />
<package id="Mono.Cecil" version="0.9.5.4" targetFramework="net40" />
</packages>

1
packages/repositories.config

@ -5,4 +5,5 @@ @@ -5,4 +5,5 @@
<repository path="..\ILSpy.AddIn\packages.config" />
<repository path="..\ILSpy\packages.config" />
<repository path="..\NRefactory\ICSharpCode.NRefactory.VB\packages.config" />
<repository path="..\TestPlugin\packages.config" />
</repositories>
Loading…
Cancel
Save