Microsoft.Fast.Const.Const C# (CSharp) Method

Const() public method

public Const ( ConstDef def, FastTransducerInstance fti, Z3Provider z3p ) : System
def Microsoft.Fast.AST.ConstDef
fti FastTransducerInstance
z3p Z3Provider
return System
        public Const(ConstDef def, FastTransducerInstance fti, Z3Provider z3p)
        {
            this.z3p = z3p;
            this.name = def.id.text;
            switch (def.sort.kind)
            {
                case (FastSortKind.Real):
                    {
                        sort = z3p.RealSort;
                        break;
                    }
                case (FastSortKind.Bool):
                    {
                        sort = z3p.BoolSort;
                        break;
                    }
                case (FastSortKind.Int):
                    {
                        sort = z3p.IntSort;
                        break;
                    }
                case (FastSortKind.String):
                    {
                        sort = z3p.MkListSort(z3p.CharSort);
                        break;
                    }
                case (FastSortKind.Tree):
                    {
                        foreach (var enumSort in fti.enums)
                        {
                            if (enumSort.name == def.sort.name.text)
                            {
                                sort = enumSort.sort;
                                break;
                            }
                        }
                        break;
                    }
            }
            this.value = GenerateZ3ExprFromExpr(def.expr, fti).Simplify();
        }