/// <summary> /// Determines the memory layout of the provided type signature at runtime. /// </summary> /// <param name="type">The type.</param> /// <param name="is32Bit">Determines whether memory addresses are 32 bit or 64 bit wide.</param> /// <returns>The implied memory layout of the type.</returns> public static TypeMemoryLayout GetImpliedMemoryLayout(this ITypeDefOrRef type, bool is32Bit) { var layoutDetector = new TypeMemoryLayoutDetector(is32Bit); return(layoutDetector.VisitTypeDefOrRef(type)); }
/// <summary> /// Determines the memory layout of the provided type signature at runtime. /// </summary> /// <param name="type">The type.</param> /// <param name="is32Bit">Determines whether memory addresses are 32 bit or 64 bit wide.</param> /// <returns>The implied memory layout of the type.</returns> public static TypeMemoryLayout GetImpliedMemoryLayout(this TypeSignature type, bool is32Bit) { var layoutDetector = new TypeMemoryLayoutDetector(is32Bit); return(type.AcceptVisitor(layoutDetector)); }