Annotations.sql 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. --sanitizer ignore memory
  2. $script = @@
  3. from yql.typing import *
  4. def primitive(a0:Bool,a1:Int8,a2:Uint8,a3:Int16,a4:Uint16,a5:Int32,a6:Uint32,
  5. a7:Int64,a8:Uint64,a9:Float,a10:Double,a11:String,a12:Utf8,a13:Yson,a14:Json,
  6. a15:Uuid,a16:Date,a17:Datetime,a18:Timestamp,a19:Interval,a20:TzDate,
  7. a21:TzDatetime,a22:TzTimestamp)->Decimal(10,3):
  8. pass
  9. def singletons(a0:Void,a1:Null,a2:EmptyStruct,a3:EmptyTuple)->Void:
  10. pass
  11. def containers(a0:Optional[Int32],a1:List[List[Bool]],a2:Stream[String],a3:Dict[Int32,String],
  12. a4:Tuple[Int32,String],a5:Tuple[Int32],a6:Struct["a":Int32,"b":String],a7:Struct["a":Int32],
  13. a8:Variant[Int32,String],a9:Variant[Int32],a10:Variant["a":Int32,"b":String],a11:Variant["a":Int32])->List[String]:
  14. pass
  15. def special(a0:Resource["Python3"],a1:Tagged[Int32,"foo"])->Void:
  16. pass
  17. def c0()->Callable[0,Int32]: pass
  18. def c1()->Callable[1,Int32,Optional[List[Int32]]]: pass
  19. def c2()->Callable[1,Int32,Int32,Optional[List[Int32]]]: pass
  20. def c3()->Callable[0,Int32,"a":Int32:{AutoMap}]: pass
  21. def c4()->Callable[0,Int32,"":Int32:{AutoMap}]: pass
  22. def c5()->Callable[0,Int32,"":Int32:{}]: pass
  23. def c6()->Callable[0,Int32,"foo":Int32]: pass
  24. def f0(x:Optional[Int32]=None,y:Optional[Int32]=None)->Void: pass
  25. def f1(x:Optional[Int32],y:Optional[Int32]=None)->Void: pass
  26. def f2(x:Optional[Int32],y:Optional[Int32])->Void: pass
  27. def f3(x:slice("",Int32,{AutoMap}), y:slice("name",String))->Void: pass
  28. @@;
  29. $t = ($name)->{
  30. return FormatType(EvaluateType(
  31. ParseTypeHandle(Core::PythonFuncSignature(AsAtom("Python3"), $script, $name))));
  32. };
  33. -- Singletons
  34. select $t("primitive");
  35. select $t("singletons");
  36. -- Containers & Special
  37. select $t("containers");
  38. select $t("special");
  39. -- Callable
  40. select
  41. $t("c0") as c0,
  42. $t("c1") as c1,
  43. $t("c2") as c2,
  44. $t("c3") as c3,
  45. $t("c4") as c4,
  46. $t("c5") as c5,
  47. $t("c6") as c6;
  48. -- Top level
  49. select
  50. $t("f0") as f0,
  51. $t("f1") as f1,
  52. $t("f2") as f2,
  53. $t("f3") as f3;