|
1 |
| -using ILSourceParser.Syntax; |
2 |
| -using Sprache; |
3 |
| - |
4 |
| -namespace ILSourceParser.Tests; |
5 |
| - |
6 |
| -public class InstructionTests |
7 |
| -{ |
8 |
| - /// <summary> |
9 |
| - /// A test to validate the IL ldsfld opcode. |
10 |
| - /// </summary> |
11 |
| - [Fact] |
12 |
| - public void OpCodeLdsFldComplex() |
13 |
| - { |
14 |
| - var parser = new Parser(); |
15 |
| - var ldsfld = parser.ParseLdsfldInstruction(); |
16 |
| - var r = ldsfld.Parse(@"ldsfld class [System.Linq.Expressions]System.Runtime.CompilerServices.CallSite`1<class [System.Runtime]System.Func`3<class [System.Linq.Expressions]System.Runtime.CompilerServices.CallSite, object, int32>> C/'<>o__0'::'<>p__1'"); |
17 |
| - |
18 |
| - var result = (r.FieldType as GenericTypeReferenceSyntax)!; |
19 |
| - Assert.Equal("System.Linq.Expressions", result.AssemblyReference!.AssemblyName); |
20 |
| - Assert.Equal("System.Runtime.CompilerServices.CallSite`1", result.ClassName!); |
21 |
| - Assert.Single(result.GenericArguments!.Parameters); |
22 |
| - Assert.True(result.GenericArguments!.Parameters.All(arg => arg is GenericParameterTypeConstraintSyntax)); |
23 |
| - |
24 |
| - Assert.Equal("C/'<>o__0'", |
25 |
| - (r.Target.DeclaringTypeReference as NonGenericTypeReferenceSyntax)!.GetNameOfType()); |
26 |
| - |
27 |
| - Assert.Equal("<>p__1", r.Target.FieldOrPropertyName); |
28 |
| - } |
29 |
| -} |
| 1 | +using ILSourceParser.Syntax; |
| 2 | +using ILSourceParser.Utilities; |
| 3 | +using Sprache; |
| 4 | + |
| 5 | +namespace ILSourceParser.Tests; |
| 6 | + |
| 7 | +public class InstructionTests |
| 8 | +{ |
| 9 | + /// <summary> |
| 10 | + /// A test to validate the IL ldsfld opcode. |
| 11 | + /// </summary> |
| 12 | + [Fact] |
| 13 | + public void OpCodeLdsFldComplex() |
| 14 | + { |
| 15 | + var parser = new Parser(); |
| 16 | + var ldsfld = parser.ParseLdsfldInstruction(); |
| 17 | + var r = ldsfld.Parse(@"ldsfld class [System.Linq.Expressions]System.Runtime.CompilerServices.CallSite`1<class [System.Runtime]System.Func`3<class [System.Linq.Expressions]System.Runtime.CompilerServices.CallSite, object, int32>> C/'<>o__0'::'<>p__1'"); |
| 18 | + |
| 19 | + var result = (r.FieldType as GenericTypeReferenceSyntax)!; |
| 20 | + Assert.Equal("System.Linq.Expressions", result.AssemblyReference!.AssemblyName); |
| 21 | + Assert.Equal("System.Runtime.CompilerServices.CallSite`1", result.ClassName!); |
| 22 | + Assert.Single(result.GenericArguments!.Parameters); |
| 23 | + Assert.True(result.GenericArguments!.Parameters.All(arg => arg is GenericParameterTypeConstraintSyntax)); |
| 24 | + |
| 25 | + Assert.Equal("C/'<>o__0'", |
| 26 | + (r.Target.DeclaringTypeReference as NonGenericTypeReferenceSyntax)!.GetNameOfType()); |
| 27 | + |
| 28 | + Assert.Equal("<>p__1", r.Target.FieldOrPropertyName); |
| 29 | + } |
| 30 | +} |
0 commit comments