Skip to content

Commit 252d544

Browse files
committed
Merge pull request #16 from sushihangover/internalize_deps
Internalize deps
2 parents 2d2b7cb + ceb69f4 commit 252d544

134 files changed

Lines changed: 35245 additions & 190 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitmodules

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,3 @@
1010
[submodule "external/cecil"]
1111
path = external/cecil
1212
url = https://www.github.com/jbevain/cecil.git
13-
[submodule "external/Nrefactory-upstream"]
14-
path = external/Nrefactory-upstream
15-
url = https://github.com/icsharpcode/NRefactory.git

PlayScript.Addin.sln

Lines changed: 177 additions & 176 deletions
Large diffs are not rendered by default.

PlayScript.Addin/PlayScript.Addin.csproj

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -390,21 +390,17 @@
390390
<Project>{0D8EC1C8-9706-4D8B-96F2-8636F2C9F894}</Project>
391391
<Name>ICSharpCode.NRefactory.PlayScript</Name>
392392
</ProjectReference>
393-
<ProjectReference Include="..\..\monodevelop\main\contrib\ICSharpCode.Decompiler\ICSharpCode.Decompiler.csproj">
394-
<Project>{984CC812-9470-4A13-AFF9-CC44068D666C}</Project>
395-
<Name>ICSharpCode.Decompiler</Name>
396-
</ProjectReference>
397393
<ProjectReference Include="..\external\NRefactory\ICSharpCode.NRefactory.PlayScript.Refactoring\ICSharpCode.NRefactory.PlayScript.Refactoring.csproj">
398394
<Project>{D9654D35-F86C-4105-B4E6-FAA656487BF8}</Project>
399395
<Name>ICSharpCode.NRefactory.PlayScript.Refactoring</Name>
400396
</ProjectReference>
401-
<ProjectReference Include="..\external\ikvm\reflect\IKVM.Reflection.csproj">
402-
<Project>{4CB170EF-DFE6-4A56-9E1B-A85449E827A7}</Project>
403-
<Name>IKVM.Reflection</Name>
404-
</ProjectReference>
405397
<ProjectReference Include="..\external\NRefactory\ICSharpCode.NRefactory.IKVM\ICSharpCode.NRefactory.PlayScript.IKVM.csproj">
406398
<Project>{6FBE63EB-4D01-4BED-BC3E-F4AB31AB7D6F}</Project>
407399
<Name>ICSharpCode.NRefactory.PlayScript.IKVM</Name>
408400
</ProjectReference>
401+
<ProjectReference Include="..\external\ICSharpCode.Decompiler\ICSharpCode.Decompiler.csproj">
402+
<Project>{984CC812-9470-4A13-AFF9-CC44068D666C}</Project>
403+
<Name>ICSharpCode.Decompiler</Name>
404+
</ProjectReference>
409405
</ItemGroup>
410406
</Project>
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Diagnostics;
4+
using ICSharpCode.Decompiler.ILAst;
5+
using ICSharpCode.NRefactory.CSharp;
6+
using Mono.Cecil;
7+
8+
namespace ICSharpCode.Decompiler.Ast
9+
{
10+
public class TypeInformation
11+
{
12+
public readonly TypeReference InferredType;
13+
public readonly TypeReference ExpectedType;
14+
15+
public TypeInformation(TypeReference inferredType, TypeReference expectedType)
16+
{
17+
this.InferredType = inferredType;
18+
this.ExpectedType = expectedType;
19+
}
20+
}
21+
22+
public class LdTokenAnnotation {}
23+
24+
/// <summary>
25+
/// Annotation that is applied to the body expression of an Expression.Lambda() call.
26+
/// </summary>
27+
public class ParameterDeclarationAnnotation
28+
{
29+
public readonly List<ParameterDeclaration> Parameters = new List<ParameterDeclaration>();
30+
31+
public ParameterDeclarationAnnotation(ILExpression expr)
32+
{
33+
Debug.Assert(expr.Code == ILCode.ExpressionTreeParameterDeclarations);
34+
for (int i = 0; i < expr.Arguments.Count - 1; i++) {
35+
ILExpression p = expr.Arguments[i];
36+
// p looks like this:
37+
// stloc(v, call(Expression::Parameter, call(Type::GetTypeFromHandle, ldtoken(...)), ldstr(...)))
38+
ILVariable v = (ILVariable)p.Operand;
39+
TypeReference typeRef = (TypeReference)p.Arguments[0].Arguments[0].Arguments[0].Operand;
40+
string name = (string)p.Arguments[0].Arguments[1].Operand;
41+
Parameters.Add(new ParameterDeclaration(AstBuilder.ConvertType(typeRef), name).WithAnnotation(v));
42+
}
43+
}
44+
}
45+
46+
/// <summary>
47+
/// Annotation that is applied to a LambdaExpression that was produced by an expression tree.
48+
/// </summary>
49+
public class ExpressionTreeLambdaAnnotation
50+
{
51+
}
52+
}

0 commit comments

Comments
 (0)