Esempio n. 1
0
 public override IEnumDebugProperty EnumChildren(EnumerationKind kind, int radix, int timeout, bool allowFuncEval)
 {
     if (this.value == null || this.value.IsNullReference())
     {
         return(null);
     }
     if (this.structuralType.StructuralType == StructTypes.Tuple)
     {
         IDebugStructuralType classType  = (IDebugStructuralType)this.value.RuntimeType();
         IEnumSymbol          enumSymbol = classType.GetMembers(null, true, SymbolKind.Field | SymbolKind.Property, SymbolModifiers.All);
         return(new EnumDebugPropertySymbols(enumSymbol, this, this.value, this.evaluator));
     }
     else if (this.structuralType.StructuralType == StructTypes.Union)
     {
         // TODO: Handle Union Types, Properly
         IDebugStructuralType structType = (IDebugStructuralType)this.value.RuntimeType();
         IEnumSymbol          enumSymbol = structType.GetMembers(null, true, SymbolKind.Field | SymbolKind.Property, SymbolModifiers.All);
         return(new EnumDebugPropertySymbols(enumSymbol, this, this.value, this.evaluator));
     }
     else if (this.structuralType.StructuralType == StructTypes.Intersection)
     {
         // TODO: Handle Intersection Types, Properly
         return(null);
     }
     return(null);
 }
Esempio n. 2
0
 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;
     }
 }
Esempio n. 3
0
 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;
 }