Esempio n. 1
0
        } // end _ValidateFieldInfoAndGetName()

        internal DbgFieldInfo(UserModeDebugger debugger,
                              DbgTypeInfo owningType,
                              ClrMemDiag.Debugger.FieldInfo fieldInfo,
                              ulong modBase)   // TODO BUGBUG? There is no module base field in 'f'... is it not possible for a field to be of a type from some other module?
            : this(debugger,
                   owningType,
                   _ValidateFieldInfoAndGetName(fieldInfo),
                   fieldInfo.FieldOffset,
                   (fieldInfo.PointerFlag != ClrMemDiag.Debugger.PointerFlag.None) &&
                   (fieldInfo.PointerFlag != ClrMemDiag.Debugger.PointerFlag.Pointer64),
                   fieldInfo.PointerFlag.HasFlag(ClrMemDiag.Debugger.PointerFlag.Pointer64),
                   fieldInfo.IsArray,
                   //fieldInfo.IsStruct,
                   fieldInfo.IsConstant,
                   fieldInfo.IsStatic,
                   fieldInfo.Size,
                   DbgTypeInfo.GetNamedTypeInfo(debugger, modBase, fieldInfo.TypeId))
        {
            // nothing
        } // end constructor
Esempio n. 2
0
        public DbgFieldInfo(UserModeDebugger debugger,
                            DbgTypeInfo owningType,
                            string fieldName,
                            uint fieldOffset,
                            bool is32BitPointer,
                            bool is64BitPointer,
                            bool isArray,
                            //bool isStruct,
                            bool isConstant,
                            bool isStatic,
                            uint size,
                            DbgNamedTypeInfo fieldType)
            : base(debugger)
        {
            if (null == owningType)
            {
                throw new ArgumentNullException("owningType");
            }

            if (String.IsNullOrEmpty(fieldName))
            {
                throw new ArgumentException("You must supply a field name.", "fieldName");
            }

            if (null == fieldType)
            {
                throw new ArgumentNullException("fieldType");
            }

            OwningType     = owningType;
            Type           = fieldType;
            Offset         = fieldOffset;
            Name           = fieldName;
            Is32BitPointer = is32BitPointer;
            Is64BitPointer = is64BitPointer;
            IsArray        = isArray;
            //IsStruct = isStruct;
            IsConstant = isConstant;
            IsStatic   = isStatic;
            Size       = size;
        } // end constructor