1 instantiation of MethodIL
illink (1)
Linker\MethodIL.cs (1)
29
public static MethodIL Create(MethodBody body) => new
MethodIL
(body);
59 references to MethodIL
illink (59)
Linker.Dataflow\InterproceduralState.cs (7)
22
public ValueSet<
MethodIL
> MethodBodies;
26
public InterproceduralState(ValueSet<
MethodIL
> methodBodies, HoistedLocalState hoistedLocals, InterproceduralStateLattice lattice)
53
public void TrackMethod(
MethodIL
methodIL)
57
var methodsList = new List<
MethodIL
>(MethodBodies.GetKnownValues());
73
MethodBodies = new ValueSet<
MethodIL
>(methodsList);
92
public readonly ValueSetLattice<
MethodIL
> MethodBodyLattice;
97
ValueSetLattice<
MethodIL
> methodBodyLattice,
Linker.Dataflow\MethodBodyScanner.cs (27)
57
protected virtual void WarnAboutInvalidILInMethod(
MethodIL
methodIL, int ilOffset)
61
private void CheckForInvalidStack(Stack<StackSlot> stack, int depthRequired,
MethodIL
methodIL, int ilOffset)
77
private void PushUnknownAndWarnAboutInvalidIL(Stack<StackSlot> stack,
MethodIL
methodIL, int offset)
83
private StackSlot PopUnknown(Stack<StackSlot> stack, int count,
MethodIL
methodIL, int ilOffset)
160
public BasicBlockIterator(
MethodIL
methodIL)
193
static void ValidateNoReferenceToReference(LocalVariableStore locals,
MethodIL
method, int ilOffset)
248
public virtual void InterproceduralScan(
MethodIL
startingMethodIL)
267
foreach (
var
methodIL in oldInterproceduralState.MethodBodies.GetKnownValues())
301
protected virtual void Scan(
MethodIL
methodIL, ref InterproceduralState interproceduralState)
747
private static void ScanExceptionInformation(Dictionary<int, Stack<StackSlot>> knownStacks,
MethodIL
methodIL)
768
protected abstract MethodReturnValue GetReturnValue(
MethodIL
method);
790
MethodIL
methodIL,
805
MethodIL
methodIL,
876
MethodIL
methodIL,
894
MethodIL
methodIL,
916
protected void StoreInReference(MultiValue target, MultiValue source,
MethodIL
methodIL, Instruction operation, LocalVariableStore locals, int curBasicBlock, ref InterproceduralState ipState, int? parameterIndex)
960
MethodIL
methodIL,
994
protected virtual void HandleStoreField(
MethodIL
methodIL, FieldValue field, Instruction operation, MultiValue valueToStore, int? parameterIndex)
998
protected virtual void HandleStoreParameter(
MethodIL
methodIL, MethodParameterValue parameter, Instruction operation, MultiValue valueToStore, int? parameterIndex)
1002
protected virtual void HandleReturnValue(
MethodIL
method, MethodReturnValue thisParameter, Instruction operation, MultiValue valueToReturn)
1007
MethodIL
methodIL,
1055
MethodIL
containingMethodIL,
1121
MethodIL
callingMethodIL,
1156
MethodIL
callingMethodIL,
1201
MethodIL
callingMethodIL,
1223
MethodIL
methodIL,
1254
MethodIL
methodIL,
Linker.Dataflow\ReflectionMethodBodyScanner.cs (8)
63
public override void InterproceduralScan(
MethodIL
methodIL)
71
protected override void Scan(
MethodIL
methodIL, ref InterproceduralState interproceduralState)
77
protected override void WarnAboutInvalidILInMethod(
MethodIL
methodIl, int ilOffset)
96
protected override MethodReturnValue GetReturnValue(
MethodIL
methodIL) => _annotations.GetMethodReturnValue(methodIL.Method, isNewObj: false);
107
protected override void HandleStoreField(
MethodIL
methodIL, FieldValue field, Instruction operation, MultiValue valueToStore, int? parameterIndex)
110
protected override void HandleStoreParameter(
MethodIL
methodIL, MethodParameterValue parameter, Instruction operation, MultiValue valueToStore, int? parameterIndex)
113
protected override void HandleReturnValue(
MethodIL
methodIL, MethodReturnValue returnValue, Instruction operation, MultiValue valueToStore)
116
public override MultiValue HandleCall(
MethodIL
callingMethodIL, MethodReference calledMethod, Instruction operation, ValueNodeList methodParams)
Linker.Dataflow\ScannerExtensions.cs (1)
19
public static HashSet<int> ComputeBranchTargets(this
MethodIL
methodIL)
Linker.Steps\MarkStep.cs (7)
2795
var
body = Context.GetMethodIL(method);
3779
var
processedMethodBody = Context.GetMethodIL(body);
3803
bool CheckRequiresReflectionMethodBodyScanner(
MethodIL
methodIL)
3832
bool MarkAndCheckRequiresReflectionMethodBodyScanner(
MethodIL
methodIL, MessageOrigin origin)
3875
bool IsUnreachableBody(
MethodIL
methodIL)
3885
void MarkInterfacesNeededByBodyStack(
MethodIL
methodIL)
4050
protected virtual void MarkReflectionLikeDependencies(
MethodIL
methodIL, bool requiresReflectionMethodBodyScanner, MessageOrigin origin)
Linker\BannedApiExtensions.cs (2)
24
public static
MethodIL
GetMethodIL(this MethodDefinition method, LinkContext context)
27
public static
MethodIL
GetMethodIL(this MethodBody body, LinkContext context)
Linker\LinkContext.cs (3)
1025
public
MethodIL
GetMethodIL(Cecil.Cil.MethodBody methodBody)
1028
public
MethodIL
GetMethodIL(MethodDefinition method)
1035
return
MethodIL
.Create(method.Body);
Linker\MethodBodyScanner.cs (3)
14
public static bool IsWorthConvertingToThrow(
MethodIL
body)
71
public IEnumerable<(InterfaceImplementation, TypeDefinition)>? GetReferencedInterfaces(
MethodIL
methodIL)
103
HashSet<TypeDefinition> AllPossibleStackTypes(
MethodIL
methodIL)
Linker\MethodIL.cs (1)
29
public static
MethodIL
Create(MethodBody body) => new MethodIL(body);