Exemple #1
0
 public override Type EnsureType(ErrorCollector collector, Type type, ref bool success, bool must_unbox)
 {
     this.must_unbox |= must_unbox;
     if ((RealType & type) == 0)
     {
         success = false;
         collector.ReportLookupTypeError(Environment, Name, RealType, type);
     }
     else
     {
         RealType &= type;
     }
     return(RealType);
 }
Exemple #2
0
 public override Type EnsureType(ErrorCollector collector, Type type, ref bool success, bool must_unbox)
 {
     this.must_unbox |= must_unbox;
     if (ForceBack)
     {
         return(Source.EnsureType(collector, type, ref success, must_unbox));
     }
     else
     {
         if ((Mask & type) == 0)
         {
             success = false;
             collector.ReportLookupTypeError(Environment, Name, Mask, type);
         }
         Mask &= type;
         return(Mask);
     }
 }