// Construct an instance of IEnumDebugPropertyInfo2 for the parameters collection only. private void CreateParameterProperties(uint radix, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject) { elementsReturned = (uint)_parameters.Length; var propInfo = new DEBUG_PROPERTY_INFO[_parameters.Length]; for (int i = 0; i < propInfo.Length; i++) { var property = new AD7Property(_parameters[i]); propInfo[i] = property.ConstructDebugPropertyInfo(radix, enum_DEBUGPROP_INFO_FLAGS.DEBUGPROP_INFO_STANDARD); } enumObject = new AD7PropertyInfoEnum(propInfo); }
public int EnumChildren(enum_DEBUGPROP_INFO_FLAGS dwFields, uint dwRadix, ref Guid guidFilter, enum_DBG_ATTRIB_FLAGS dwAttribFilter, string pszNameFilter, uint dwTimeout, out IEnumDebugPropertyInfo2 ppEnum) { ppEnum = null; IList <NodeEvaluationResult> children = _variable.Children; if (children == null) { return(VSConstants.S_FALSE); } var properties = new DEBUG_PROPERTY_INFO[children.Count]; for (int i = 0; i < children.Count; i++) { properties[i] = new AD7Property(children[i]).ConstructDebugPropertyInfo(dwRadix, dwFields); } ppEnum = new AD7PropertyEnum(properties); return(VSConstants.S_OK); }
// This method evaluates the expression synchronously. int IDebugExpression2.EvaluateSync(enum_EVALFLAGS dwFlags, uint dwTimeout, IDebugEventCallback2 pExprCallback, out IDebugProperty2 ppResult) { NodeEvaluationResult result; ppResult = null; try { result = _frame.StackFrame.EvaluateExpressionAsync(_expression).Result; } catch (Exception) { return VSConstants.E_FAIL; } if (result == null) { return VSConstants.E_FAIL; } ppResult = new AD7Property(result); return VSConstants.S_OK; }
// Construct an instance of IEnumDebugPropertyInfo2 for the combined locals and parameters. private void CreateLocalsPlusArgsProperties(uint radix, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject) { elementsReturned = 0; int localsLength = 0; if (_locals != null) { localsLength = _locals.Length; elementsReturned += (uint)localsLength; } if (_parameters != null) { elementsReturned += (uint)_parameters.Length; } var propInfo = new DEBUG_PROPERTY_INFO[elementsReturned]; if (_locals != null) { for (int i = 0; i < _locals.Length; i++) { var property = new AD7Property(_locals[i]); propInfo[i] = property.ConstructDebugPropertyInfo(radix, enum_DEBUGPROP_INFO_FLAGS.DEBUGPROP_INFO_STANDARD); } } if (_parameters != null) { for (int i = 0; i < _parameters.Length; i++) { var property = new AD7Property(_parameters[i]); propInfo[localsLength + i] = property.ConstructDebugPropertyInfo(radix, enum_DEBUGPROP_INFO_FLAGS.DEBUGPROP_INFO_STANDARD); } } enumObject = new AD7PropertyInfoEnum(propInfo); }
// This method evaluates the expression synchronously. int IDebugExpression2.EvaluateSync(enum_EVALFLAGS dwFlags, uint dwTimeout, IDebugEventCallback2 pExprCallback, out IDebugProperty2 ppResult) { NodeEvaluationResult result; ppResult = null; try { result = _frame.StackFrame.EvaluateExpressionAsync(_expression).Result; } catch (Exception) { return(VSConstants.E_FAIL); } if (result == null) { return(VSConstants.E_FAIL); } ppResult = new AD7Property(result); return(VSConstants.S_OK); }
// Construct an instance of IEnumDebugPropertyInfo2 for the parameters collection only. private void CreateParameterProperties(uint radix, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject) { elementsReturned = (uint) _parameters.Length; var propInfo = new DEBUG_PROPERTY_INFO[_parameters.Length]; for (int i = 0; i < propInfo.Length; i++) { var property = new AD7Property(_parameters[i]); propInfo[i] = property.ConstructDebugPropertyInfo(radix, enum_DEBUGPROP_INFO_FLAGS.DEBUGPROP_INFO_STANDARD); } enumObject = new AD7PropertyInfoEnum(propInfo); }
// Construct an instance of IEnumDebugPropertyInfo2 for the combined locals and parameters. private void CreateLocalsPlusArgsProperties(uint radix, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject) { elementsReturned = 0; int localsLength = 0; if (_locals != null) { localsLength = _locals.Length; elementsReturned += (uint) localsLength; } if (_parameters != null) { elementsReturned += (uint) _parameters.Length; } var propInfo = new DEBUG_PROPERTY_INFO[elementsReturned]; if (_locals != null) { for (int i = 0; i < _locals.Length; i++) { var property = new AD7Property(_locals[i]); propInfo[i] = property.ConstructDebugPropertyInfo(radix, enum_DEBUGPROP_INFO_FLAGS.DEBUGPROP_INFO_STANDARD); } } if (_parameters != null) { for (int i = 0; i < _parameters.Length; i++) { var property = new AD7Property(_parameters[i]); propInfo[localsLength + i] = property.ConstructDebugPropertyInfo(radix, enum_DEBUGPROP_INFO_FLAGS.DEBUGPROP_INFO_STANDARD); } } enumObject = new AD7PropertyInfoEnum(propInfo); }
public int EnumChildren(enum_DEBUGPROP_INFO_FLAGS dwFields, uint dwRadix, ref Guid guidFilter, enum_DBG_ATTRIB_FLAGS dwAttribFilter, string pszNameFilter, uint dwTimeout, out IEnumDebugPropertyInfo2 ppEnum) { ppEnum = null; IList<NodeEvaluationResult> children = _variable.Children; if (children == null) { return VSConstants.S_FALSE; } var properties = new DEBUG_PROPERTY_INFO[children.Count]; for (int i = 0; i < children.Count; i++) { properties[i] = new AD7Property(children[i]).ConstructDebugPropertyInfo(dwRadix, dwFields); } ppEnum = new AD7PropertyEnum(properties); return VSConstants.S_OK; }