예제 #1
0
        // Construct an instance of IEnumDebugPropertyInfo2 for the combined locals and parameters.
        private void CreateLocalsPlusArgsProperties(EnumDebugPropertyInfoContents contents, out uint elementsReturned, out IEnumDebugPropertyInfo2 enumObject)
        {
            elementsReturned = 0;
            if ((contents & EnumDebugPropertyInfoContents.eLocals) != 0)
            {
                if (_thisObject != null)
                {
                    elementsReturned += elementsReturned + 1;
                }
                elementsReturned += (uint)_locals.Length;
            }
            if ((contents & EnumDebugPropertyInfoContents.eProperties) != 0)
            {
                elementsReturned += (uint)_parameters.Length;
            }

            DEBUG_PROPERTY_INFO[] propInfo = new DEBUG_PROPERTY_INFO[elementsReturned];
            int propInfoIdx = 0;

            if ((contents & EnumDebugPropertyInfoContents.eLocals) != 0)
            {
                if (_thisObject != null)
                {
                    propInfo[propInfoIdx++] = new XamarinProperty(_thisObject).ConstructDebugPropertyInfo(enum_DEBUGPROP_INFO_FLAGS.DEBUGPROP_INFO_STANDARD);
                }

                for (int i = 0; i < _locals.Length; i++)
                {
                    propInfo[propInfoIdx++] = new XamarinProperty(_locals[i]).ConstructDebugPropertyInfo(enum_DEBUGPROP_INFO_FLAGS.DEBUGPROP_INFO_STANDARD);
                }
            }

            if ((contents & EnumDebugPropertyInfoContents.eProperties) != 0)
            {
                for (int i = 0; i < _parameters.Length; i++)
                {
                    propInfo[propInfoIdx++] = new XamarinProperty(_parameters[i]).ConstructDebugPropertyInfo(enum_DEBUGPROP_INFO_FLAGS.DEBUGPROP_INFO_STANDARD);
                }
            }

            enumObject = new XamarinPropertyInfoEnum(propInfo);
        }
예제 #2
0
 // This method evaluates the expression synchronously.
 int IDebugExpression2.EvaluateSync(enum_EVALFLAGS dwFlags, uint dwTimeout, IDebugEventCallback2 pExprCallback, out IDebugProperty2 ppResult)
 {
     ppResult = new XamarinProperty(_var);
     return(VisualStudioExtensionConstants.S_OK);
 }
예제 #3
0
 public XamarinExpressionEvaluationCompleteEvent(XamarinExpression expression, XamarinProperty property)
 {
     _expression = expression;
     _property   = property;
 }