Esempio n. 1
0
 internal EnumDebugPropertyTypes(IEnumDebugTypes enumTypes, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator)
 {
     this.enumTypes      = enumTypes;
     this.parent         = parent;
     this.containerValue = containerValue;
     this.evaluator      = evaluator;
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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)));
            }
        }
Esempio n. 4
0
 internal EnumDebugPropertyTypes(IEnumDebugTypes enumTypes, IDebugProperty parent, IDebugValue containerValue, CommonExpressionEvaluator evaluator){
   this.enumTypes = enumTypes;
   this.parent = parent;
   this.containerValue = containerValue;
   this.evaluator = evaluator;
 }