public ArraysInformation(ClrDumpType arrayType, ulong nbInstances, ulong totalLength, ulong maxLength, ulong totalSize) : this(arrayType) { NbInstances = nbInstances; TotalLength = totalLength; MaxLength = maxLength; TotalSize = totalSize; }
public static void Create(ClrDumpType clrDumpType, UIModule parent, Action<InstancesModule> postInit) { if (clrDumpType == null) { MessageBox.Show("No type selected !", "Error", MessageBoxButtons.OK); return; } UIModuleFactory.CreateModule<TypeInstancesModule>( mod => { mod.UIModuleParent = parent; mod.Setup(clrDumpType); }, mod => postInit(mod) ); }
public void Setup(ClrDumpType dumpType) { type = dumpType.ClrType; ClrDump = dumpType.ClrDump; pgTypeInfo.SelectedObject = new TypeInformations(dumpType); dlvFields.InitColumns<FieldInformation>(); dlvFields.SetUpTypeColumn<FieldInformation>(this); dlvFields.SetObjects(dumpType.Fields.Select(clrField => new FieldInformation(dumpType, clrField))); dlvMethods.InitColumns<MethodInformation>(); dlvMethods.SetUpTypeColumn<MethodInformation>(this); dlvMethods.SetObjects(dumpType.Methods.Select(clrMethod => new MethodInformation(dumpType, clrMethod))); dtlvParentClasses.InitData<AbstractTypeInformation>(); dtlvParentClasses.SetUpTypeColumn<AbstractTypeInformation>(this); var l = new List<object>(); var typeInformation = new TypeInformation(dumpType.BaseType); var interfaceInformations = InterfaceInformation.GetInterfaces(dumpType); l.Add(typeInformation); l.AddRange(interfaceInformations); dtlvParentClasses.Roots = l; }
public ArraysInformation(ClrDumpType arrayType) { ClrDumpType = arrayType; TypeName = arrayType.ClrType.Name; }
internal void Setup(ClrDumpType clrDumpType) { addressList = new TypeInstancesAddressList(clrDumpType); Setup(addressList); }
public TypeInstancesAddressList(ClrDumpType clrDumpType) : this(clrDumpType.ClrDump, clrDumpType.ClrType) { }
public ClrDumpObject(ClrDumpType clrDumpType, ulong address) : this(clrDumpType.ClrDump, clrDumpType.ClrType, address) { }
public TypeInstancesAddressList(ClrDumpType clrDumpType) : this(clrDumpType.ClrDump, clrDumpType.ClrType) { }
public FieldInformation(ClrDumpType dumpType, ClrInstanceField clrField) { this.dumpType = dumpType; this.clrField = clrField; }
public ArraysAddressList(ClrDumpType clrDumpType) : base(clrDumpType.ClrDump, clrDumpType.ClrType, clrDumpType.Instances) { }
public DelegateTargetInformation(ulong address, ClrDumpType clrDumpType, ClrMethod methInfo) : this(address, clrDumpType) { this.methInfo = methInfo; }
internal static List<DelegateInstanceInformation> GetDelegateInstanceInformation(ClrDumpType clrDumpType) { var clrType = clrDumpType.ClrType; var delegateInstanceInformations = new List<DelegateInstanceInformation>(); var targetField = clrType.GetFieldByName(TargetFieldName); var invocCountField = clrType.GetFieldByName(InvocationCountFieldName); foreach (var address in clrDumpType.EnumerateInstances()) { var targets = CountTargets(address, clrType, targetField, invocCountField); var delegateInstanceInformation = new DelegateInstanceInformation(address, clrDumpType, targets); delegateInstanceInformations.Add(delegateInstanceInformation); } return delegateInstanceInformations; }
public ClrDumpObject(ClrDumpType clrDumpType, ulong address) : this(clrDumpType.ClrDump, clrDumpType.ClrType, address) { }
public DelegateInstanceInformation(ulong address, ClrDumpType clrDumpType, long targetCount) { Address = address; ClrDumpType = clrDumpType; Targets = targetCount; }
public TypeInformation(ClrDumpType clrDumpType) { ClrDumpType = clrDumpType; TypeName = TypeHelpers.ManageAlias(ClrDumpType.TypeName); }
public MethodInformation(ClrDumpType dumpType, ClrMethod clrMethod) { this.dumpType = dumpType; this.clrMethod = clrMethod; }
public TypeInformations(ClrDumpType dumpType) { this.dumpType = dumpType; }
public static List<InterfaceInformation> GetInterfaces(ClrDumpType clrDumpType) { var clrInterfaces = clrDumpType.Interfaces; return clrInterfaces.Select(interf => new InterfaceInformation(clrDumpType.ClrDump, interf)).ToList(); }
public static bool IsDelegateType(ClrDumpType clrDumpType) { var delegateType = clrDumpType.ClrDump.GetClrType(typeof(MulticastDelegate).FullName); return clrDumpType.BaseType != null && clrDumpType.BaseType.ClrType == delegateType; }
public DelegateTargetInformation(ulong address, ClrDumpType clrDumpType) { Address = address; ClrDumpType = clrDumpType; }