public NewPrimitive Convert(SnappedPrimitive snapped)
 {
     Contract.Requires(snapped != null);
     Contract.Requires(snapped.GetType() == SnappedType);
     Contract.Ensures(Contract.Result <NewPrimitive>() != null);
     return(null);
 }
Esempio n. 2
0
        Tuple <Term, Term[]> IPrimitiveSnapper.Reconstruct(SnappedPrimitive snappedPrimitive, Dictionary <FeatureCurve, ISet <Annotation> > curvesToAnnotations)
        {
            Contract.Requires(snappedPrimitive != null);
            Contract.Requires(SnappedPrimitiveType.IsAssignableFrom(snappedPrimitive.GetType()));
            Contract.Requires(curvesToAnnotations != null);
            Contract.Requires(Contract.ForAll(curvesToAnnotations, pair => pair.Value != null));

            Contract.Ensures(Contract.Result <Tuple <Term, Term[]> >() != null);
            Contract.Ensures(Contract.Result <Tuple <Term, Term[]> >().Item1 != null);
            Contract.Ensures(Contract.Result <Tuple <Term, Term[]> >().Item2 != null);
            Contract.Ensures(Contract.ForAll(Contract.Result <Tuple <Term, Term[]> >().Item2, constraint => constraint != null));
            return(null);
        }
Esempio n. 3
0
        public Tuple <Term, Term[]> Reconstruct(SnappedPrimitive snappedPrimitive, Dictionary <FeatureCurve, ISet <Annotation> > curvesToAnnotations)
        {
            // find appropriate type snapper
            var snappedPrimitiveType = snappedPrimitive.GetType();
            var snapper =
                snappers
                .Where(s => s.SnappedPrimitiveType.IsAssignableFrom(snappedPrimitiveType))
                .FirstOrDefault();

            if (snapper == null)
            {
                throw new InvalidOperationException("Cannot find snapper that can snap primitives of type " + snappedPrimitiveType);
            }

            return(snapper.Reconstruct(snappedPrimitive, curvesToAnnotations));
        }
Esempio n. 4
0
 private static Type GetKey(SnappedPrimitive source)
 {
     return(source.GetType());
 }