public override CtorType VisitCtorType(CtorType node) { var argTypes = node.Arguments.Select(t => Translate(t)).ToList(); ReturnResult(IsaBoogieType.TConType(node.Decl.Name, argTypes, usedClosedConstructors)); return(node); }
public override Type VisitBasicType(BasicType node) { if (node.IsBool) { ReturnResult(IsaBoogieType.PrimType(IsaBoogieType.BoolType(), usedClosedConstructors)); } else if (node.IsInt) { ReturnResult(IsaBoogieType.PrimType(IsaBoogieType.IntType(), usedClosedConstructors)); } else { //TODO: change to actual reals once formalization has been updated Console.Error.WriteLine("Representing reals as integers"); ReturnResult(IsaBoogieType.PrimType(IsaBoogieType.IntType(), usedClosedConstructors)); } return(node); }