Exemplo n.º 1
0
            public override MetaObject FallbackConvert(MetaObject self, MetaObject onBindingError)
            {
                if (Type.IsAssignableFrom(self.LimitType))
                {
                    return(new MetaObject(
                               self.Expression,
                               Restrictions.GetTypeRestriction(self.Expression, self.LimitType)
                               ));
                }

                return(onBindingError ??
                       MetaObject.CreateThrow(
                           self,
                           MetaObject.EmptyMetaObjects,
                           typeof(ArgumentTypeException),
                           String.Format("Expected {0}, got {1}", Type.FullName, self.LimitType.FullName)
                           ));
            }
Exemplo n.º 2
0
 public override MetaObject FallbackInvoke(MetaObject target, MetaObject[] args, MetaObject errorSuggestion)
 {
     return(errorSuggestion ?? MetaObject.CreateThrow(target, args, typeof(NotSupportedException), "Cannot perform call"));
 }
Exemplo n.º 3
0
 internal static MetaObject ErrorMetaObject(MetaObject target, MetaObject[] args, MetaObject onBindingError)
 {
     return(onBindingError ?? MetaObject.CreateThrow(target, args, typeof(NotImplementedException), ArrayUtils.EmptyObjects));
 }