internal EnumDebugPropertyTypes(IEnumDebugTypes enumTypes, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator) { this.enumTypes = enumTypes; this.parent = parent; this.containerValue = containerValue; this.evaluator = evaluator; }
public virtual IEnumDebugProperty EnumChildren(EnumerationKind kind, int radix, int timeout, bool allowFuncEval) { IDebugClassType classType = this.type as IDebugClassType; if (classType != null) { IEnumDebugTypes enumBaseClasses = classType.GetBaseClasses(); IEnumSymbol enumMembers = classType.GetMembers(null, true, SymbolKind.Field, SymbolModifiers.All); return(new AggregateEnumDebugProperty( new EnumDebugPropertySymbols(enumMembers, this, this.containerValue, this.evaluator), new EnumDebugPropertyTypes(enumBaseClasses, this, containerValue, this.evaluator))); } return(null); }
public override IEnumDebugProperty EnumChildren(EnumerationKind kind, int radix, int timeout, bool allowFuncEval) { if (this.value == null || this.value.IsNullReference()) { return(null); } IDebugClassType classType = (IDebugClassType)this.value.RuntimeType(); if (classType.Name.IndexOf("closure") >= 0) { IEnumSymbol closureSymbol = classType.GetClosureClassMembers(this.value); return(new EnumDebugPropertySymbols(closureSymbol, this, this.value, this.evaluator)); } else { IEnumSymbol enumSymbol = classType.GetMembers(null, true, SymbolKind.Field | SymbolKind.Property, SymbolModifiers.All); IEnumDebugTypes enumBaseClasses = classType.GetBaseClasses(); return(new AggregateEnumDebugProperty( new EnumDebugPropertyTypes(enumBaseClasses, this, this.value, this.evaluator), new EnumDebugPropertySymbols(enumSymbol, this, this.value, this.evaluator))); } }
internal EnumDebugPropertyTypes(IEnumDebugTypes enumTypes, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator){ this.enumTypes = enumTypes; this.parent = parent; this.containerValue = containerValue; this.evaluator = evaluator; }