Example #1
0
 public void DataTypeVisitor_ArgumentChecking()
 {
     AssertEx.ThrowsException <ArgumentNullException>(() => DataTypeVisitor.Visit <int>(nodes: null, x => x), ex => Assert.AreEqual("nodes", ex.ParamName));
     AssertEx.ThrowsException <ArgumentNullException>(() => DataTypeVisitor.Visit <int>(new List <int> {
         5
     }.AsReadOnly(), elementVisitor: null), ex => Assert.AreEqual("elementVisitor", ex.ParamName));
 }
Example #2
0
        public static SqlType Parse(PlSqlParser.DatatypeContext context)
        {
            var typeInfo = new DataTypeVisitor().Visit(context);
            if (!typeInfo.IsPrimitive)
                throw new NotSupportedException();

            return PrimitiveTypes.Resolve(typeInfo.TypeName, typeInfo.Metadata);
        }
Example #3
0
        public void DataTypeVisitor_Custom()
        {
            var v = new MyVisitor();

            var d = new MyDataType();
            var e = v.Visit(d);

            Assert.ThrowsException <NotImplementedException>(() => _ = new DataTypeVisitor().Visit(d));

            Assert.AreSame(d, e);
            Assert.AreEqual(d.ToString(), e.ToString());
        }
Example #4
0
        public DataTypeInfo ParseDataType(string s)
        {
            SetInput(s);
            //var plSqlParser = MakeParser(s, null);
            var parseResult = plSqlParser.datatype();

            var visitor = new DataTypeVisitor();
            return visitor.Visit(parseResult);
        }