public DebugProperty GetDebugProperty() { IDebugProperty property = null; pdsf.GetDebugProperty(out property); return(new DebugProperty(property)); }
internal EnumDebugPropertyTypes(IEnumDebugTypes enumTypes, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator) { this.enumTypes = enumTypes; this.parent = parent; this.containerValue = containerValue; this.evaluator = evaluator; }
public virtual BaseProperty MakeProperty(IDebugPropertySymbol symbol, IDebugProperty parent, IDebugValue containerValue) { IDebugMethodSymbol getter = symbol.GetGetter(); IDebugValue value = null; if (getter != null /*&& (context.flags & EvaluationFlags.NoFuncEval) == 0*/) { IEnumSymbol parameters = getter.GetParameters(); if (parameters == null || parameters.Count == 0) { IDebugValue[] arguments = null; if ((getter.Modifiers & SymbolModifiers.Static) == 0) { arguments = new IDebugValue[] { containerValue } } ; else { arguments = new IDebugValue[0]; } value = getter.Evaluate(containerValue, arguments); } } return(this.MakeProperty(symbol.Name, symbol.Type, value, parent)); }
internal EnumDebugPropertySymbols(IEnumSymbol enumSymbols, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator) { this.enumSymbols = enumSymbols; this.parent = parent; this.containerValue = containerValue; this.evaluator = evaluator; }
public void Next( System.UInt32 celt, DEBUG_PROPERTY_INFO [] rgelt, out System.Int32 pceltFetched) { pceltFetched = 0; if (rgelt == null) { rgelt = new DEBUG_PROPERTY_INFO[celt]; } for (ulong i = 0; i < celt; i++) { IDebugProperty debugProperty = null; debugProperty = this.enumDebugProperty.Current; if (null != debugProperty) { CDebugProperty prop = new CDebugProperty(debugProperty); if (null != prop) { prop.GetPropertyInfo(this.dwFields, this.dwRadix, this.timeout, null, 0, out rgelt[i]); } } pceltFetched++; bool success = false; success = this.enumDebugProperty.MoveNext(); if (success == false && i < celt - 1) { break; } } }
public BaseProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent, CommonExpressionEvaluator evaluator) { this.name = name; this.staticType = staticType; this.parent = parent; this.value = value; this.evaluator = evaluator; }
public TypeProperty(IDebugType type, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator) { this.type = type; this.parent = parent; this.name = this.type.FullName; this.containerValue = containerValue; this.evaluator = evaluator; }
internal EnumArrayIndices(IEnumDebugValues enumValues, IDebugType elementType, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator) { this.enumValues = enumValues; this.elementType = elementType; this.parent = parent; this.containerValue = containerValue; this.index = 0; this.evaluator = evaluator; }
public EnumProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent, CommonExpressionEvaluator evaluator) : base(name, staticType, value, parent, evaluator) { this.enumType = value.RuntimeType() as IDebugEnumType; if (this.enumType == null) { this.enumType = staticType as IDebugEnumType; } }
public virtual BaseProperty MakeProperty(IDebugFieldSymbol symbol, IDebugProperty parent, IDebugValue containerValue) { IDebugType staticType = symbol.Type; IDebugValue value = symbol.GetValue(containerValue); if (symbol.Name == "this value: ") { return(this.MakeProperty("this", symbol.Type, value, parent)); } return(this.MakeProperty(symbol.Name, symbol.Type, value, parent)); }
// Get the parent of this property public void GetParent(out IDebugProperty2 ppParent) { ppParent = null; if (null == this.parent) { IDebugProperty parentProp = null; parentProp = this.prop.Parent; if (null != parentProp) { this.parent = new CDebugProperty(parentProp); } } if (null != this.parent) { ppParent = this.parent; } }
// IDebugParsedExpression public void EvaluateSync(uint dwEvalFlags, uint dwTimeout, IDebugSymbolProvider pSymbolProvider, IDebugAddress pAddress, IDebugBinder pBinder, String bstrResultType, out IDebugProperty2 ppResult) { ppResult = null; IDebugContext context = new CDebugContext(pSymbolProvider, pAddress, pBinder); if (context != null) { IDebugProperty prop = null; prop = this.EvaluateExpression(dwEvalFlags, dwTimeout, context, bstrResultType); if (prop != null) { CDebugProperty debugProp = new CDebugProperty(prop); if (null != debugProp) { ppResult = debugProp as IDebugProperty2; } } } }
public HRESULT GetMethodProperty( IDebugSymbolProvider pSymbolProvider, IDebugAddress pAddress, IDebugBinder pBinder, bool includeHiddenLocals, out IDebugProperty2 ppproperty ) { HRESULT hr = (int)HResult.S_OK; ppproperty = null; IDebugContext context = new CDebugContext(pSymbolProvider, pAddress, pBinder); if (context != null) { IDebugProperty prop = null; prop = this.cciEvaluator.GetCurrentMethodProperty((IDebugMethodSymbol)context.GetContainer()); if (null != prop) { CDebugProperty debugProp = new CDebugProperty(prop); if (null != debugProp) { ppproperty = debugProp as IDebugProperty2; } else { hr = (HRESULT)HResult.E_OUTOFMEMORY; } } } else { hr = (HRESULT)HResult.E_OUTOFMEMORY; } return(hr); }
private static IDebugProperty[] MapDebugProperties(robocode.control.snapshot.IDebugProperty[] debugProperties) { if (debugProperties == null) { return null; } IDebugProperty[] mappedProperties = new IDebugProperty[debugProperties.Length]; for (int i = 0; i < debugProperties.Length; i++) { mappedProperties[i] = MapDebugProperty(debugProperties[i]); } return mappedProperties; }
public ArrayProperty(string name, IDebugType staticType, IDebugValue containerValue, IDebugProperty parent, CommonExpressionEvaluator evaluator) : base(name, staticType, containerValue, parent, evaluator) { arrayValue = (IDebugArrayValue)this.value; }
public virtual BaseProperty MakePrimitiveTypeProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent){ return new PrimitiveTypeProperty(name, staticType, value, parent, this); }
internal EnumArrayIndices(IEnumDebugValues enumValues, IDebugType elementType, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator){ this.enumValues = enumValues; this.elementType = elementType; this.parent = parent; this.containerValue = containerValue; this.index = 0; this.evaluator = evaluator; }
public TypeProperty(IDebugType type, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator){ this.type = type; this.parent = parent; this.name = this.type.FullName; this.containerValue = containerValue; this.evaluator = evaluator; }
public EnumProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent, CommonExpressionEvaluator evaluator) : base(name, staticType, value, parent, evaluator){ this.enumType = value.RuntimeType() as IDebugEnumType; if (this.enumType == null) this.enumType = staticType as IDebugEnumType; }
public FlexArrayProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent, CommonExpressionEvaluator evaluator) : base(name, staticType, value, parent, evaluator){ }
public int GetParent(out IDebugProperty ppDebugProp) { ppDebugProp = (IDebugProperty)null; return(VSConstants.E_NOTIMPL); }
public StructuralProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent, CommonExpressionEvaluator evaluator) : base(name, staticType, value, parent, evaluator) { if (this.value != null) { this.structuralType = this.value.RuntimeType() as IDebugStructuralType; } else { this.structuralType = staticType as IDebugStructuralType; } }
public BaseProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent, CommonExpressionEvaluator evaluator){ this.name = name; this.staticType = staticType; this.parent = parent; this.value = value; this.evaluator = evaluator; }
public StructuralProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent, CommonExpressionEvaluator evaluator) : base(name, staticType, value, parent, evaluator){ if (this.value != null) this.structuralType = this.value.RuntimeType() as IDebugStructuralType; else this.structuralType = staticType as IDebugStructuralType; }
public CDebugProperty(IDebugProperty prop) { this.prop = prop; this.parent = null; }
public ArrayProperty(string name, IDebugType staticType, IDebugValue containerValue, IDebugProperty parent, CommonExpressionEvaluator evaluator) : base(name, staticType, containerValue, parent, evaluator){ arrayValue = (IDebugArrayValue)this.value; }
public virtual BaseProperty MakeFlexArrayProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent){ return new FlexArrayProperty(name, staticType, value, parent, this); }
internal EnumDebugPropertySymbols(IEnumSymbol enumSymbols, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator){ this.enumSymbols = enumSymbols; this.parent = parent; this.containerValue = containerValue; this.evaluator = evaluator; }
public virtual BaseProperty MakeProperty(IDebugPropertySymbol symbol, IDebugProperty parent, IDebugValue containerValue){ IDebugMethodSymbol getter = symbol.GetGetter(); IDebugValue value = null; if (getter != null /*&& (context.flags & EvaluationFlags.NoFuncEval) == 0*/){ IEnumSymbol parameters = getter.GetParameters(); if (parameters == null || parameters.Count == 0){ IDebugValue[] arguments = null; if ((getter.Modifiers & SymbolModifiers.Static) == 0) arguments = new IDebugValue[]{containerValue}; else arguments = new IDebugValue[0]; value = getter.Evaluate(containerValue, arguments); } } return this.MakeProperty(symbol.Name, symbol.Type, value, parent); }
internal EnumDebugPropertyTypes(IEnumDebugTypes enumTypes, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator){ this.enumTypes = enumTypes; this.parent = parent; this.containerValue = containerValue; this.evaluator = evaluator; }
public virtual BaseProperty MakeFlexArrayProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent) { return(new FlexArrayProperty(name, staticType, value, parent, this)); }
// Override these factory methods to create language specfic IDebugProperty implementations public virtual BaseProperty MakeProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent){ IDebugType type = null; if (value == null || value.IsNullReference() || staticType.Kind == TypeKind.Stream || staticType.Kind == TypeKind.FlexArray || staticType.Kind == TypeKind.Enum) type = staticType; else type = value.RuntimeType(); switch (type.Kind){ case TypeKind.Primitive: return MakePrimitiveTypeProperty(name, staticType, value, parent); case TypeKind.InnerClass: case TypeKind.Class: return MakeClassProperty(name, staticType, value, parent); case TypeKind.FlexArray: return MakeFlexArrayProperty(name, staticType, value, parent); case TypeKind.Tuple: return MakeStructuralProperty(name, staticType, value, parent); case TypeKind.Stream: return MakeStreamProperty(name, staticType, value, parent); case TypeKind.Array: return MakeArrayProperty(name, staticType, value, parent); case TypeKind.Enum: return MakeEnumProperty(name, staticType, value, parent); } return null; }
public virtual BaseProperty MakeStructuralProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent){ return new StructuralProperty(name, staticType, value, parent, this); }
public FlexArrayProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent, CommonExpressionEvaluator evaluator) : base(name, staticType, value, parent, evaluator) { }
public virtual BaseProperty MakeProperty(IDebugFieldSymbol symbol, IDebugProperty parent, IDebugValue containerValue){ IDebugType staticType = symbol.Type; IDebugValue value = symbol.GetValue(containerValue); if (symbol.Name == "this value: ") return this.MakeProperty("this", symbol.Type, value, parent); return this.MakeProperty(symbol.Name, symbol.Type, value, parent); }
public int GetParent(out IDebugProperty ppDebugProp) { ppDebugProp = (IDebugProperty)null; return VSConstants.E_NOTIMPL; }
internal DebugProperty(IDebugProperty property) { this.prop = property; }
// Override these factory methods to create language specfic IDebugProperty implementations public virtual BaseProperty MakeProperty(string name, IDebugType staticType, IDebugValue value, IDebugProperty parent) { IDebugType type = null; if (value == null || value.IsNullReference() || staticType.Kind == TypeKind.Stream || staticType.Kind == TypeKind.FlexArray || staticType.Kind == TypeKind.Enum) { type = staticType; } else { type = value.RuntimeType(); } switch (type.Kind) { case TypeKind.Primitive: return(MakePrimitiveTypeProperty(name, staticType, value, parent)); case TypeKind.InnerClass: case TypeKind.Class: return(MakeClassProperty(name, staticType, value, parent)); case TypeKind.FlexArray: return(MakeFlexArrayProperty(name, staticType, value, parent)); case TypeKind.Tuple: return(MakeStructuralProperty(name, staticType, value, parent)); case TypeKind.Stream: return(MakeStreamProperty(name, staticType, value, parent)); case TypeKind.Array: return(MakeArrayProperty(name, staticType, value, parent)); case TypeKind.Enum: return(MakeEnumProperty(name, staticType, value, parent)); } return(null); }