using System; using System.Collections.Generic; using Mono.Cecil; using Mono.Cecil.Cil; using Xamarin.Forms.Xaml; namespace Xamarin.Forms.Build.Tasks { class ILContext { public ILContext(ILProcessor il, MethodBody body, ModuleDefinition module, FieldDefinition parentContextValues = null) { IL = il; Body = body; Values = new Dictionary(); Variables = new Dictionary(); Scopes = new Dictionary>>(); TypeExtensions = new Dictionary(); ParentContextValues = parentContextValues; Module = module; } public Dictionary Values { get; private set; } public Dictionary Variables { get; private set; } public Dictionary>> Scopes { get; private set; } public Dictionary TypeExtensions { get; } public FieldDefinition ParentContextValues { get; private set; } public object Root { get; set; } //FieldDefinition or VariableDefinition public ILProcessor IL { get; private set; } public MethodBody Body { get; private set; } public ModuleDefinition Module { get; private set; } } }