1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
{ "default-sh":
{ "vars": ["defaults-transition", "fieldname"]
, "imports": {"list_provider": ["./", "..", "field_list_provider"]}
, "expression":
{ "type": "let*"
, "bindings":
[ [ "fieldname"
, {"type": "var", "name": "fieldname", "default": "defaults"}
]
, ["provider", "sh"]
, ["transition", {"type": "var", "name": "defaults-transition"}]
, [ "provided sh"
, { "type": "join"
, "$1": {"type": "CALL_EXPRESSION", "name": "list_provider"}
}
]
, [ "sh"
, { "type": "if"
, "cond": {"type": "var", "name": "provided sh"}
, "then": {"type": "var", "name": "provided sh"}
, "else": "sh"
}
]
]
, "body": {"type": "var", "name": "sh"}
}
}
, "NON_SYSTEM":
{ "vars": ["defaults-transition", "fieldname"]
, "expression":
{ "type": "map_union"
, "$1":
{ "type": "foreach"
, "var": "x"
, "range":
{ "type": "FIELD"
, "name": {"type": "var", "name": "fieldname", "default": "defaults"}
}
, "body":
{ "type": "DEP_PROVIDES"
, "dep": {"type": "var", "name": "x"}
, "provider": "NON_SYSTEM_TOOLS"
, "transition":
{ "type": "var"
, "name": "defaults-transition"
, "default": {"type": "empty_map"}
}
, "default": {"type": "empty_map"}
}
}
}
}
, "sh":
{ "vars": ["defaults-transition", "TOOLCHAIN_DIR", "fieldname"]
, "imports": {"default-sh": "default-sh", "NON_SYSTEM": "NON_SYSTEM"}
, "expression":
{ "type": "let*"
, "bindings":
[ ["sh", {"type": "CALL_EXPRESSION", "name": "default-sh"}]
, ["NON_SYSTEM", {"type": "CALL_EXPRESSION", "name": "NON_SYSTEM"}]
, [ "sh"
, { "type": "if"
, "cond":
{ "type": "lookup"
, "key": "sh"
, "map": {"type": "var", "name": "NON_SYSTEM"}
}
, "then":
{ "type": "join"
, "separator": "/"
, "$1":
[ "."
, { "type": "var"
, "name": "TOOLCHAIN_DIR"
, "default": "toolchain"
}
, {"type": "var", "name": "sh"}
]
}
, "else": {"type": "var", "name": "sh"}
}
]
]
, "body": {"type": "var", "name": "sh"}
}
}
, "PATH":
{ "vars": ["fieldname", "defaults-transition"]
, "imports": {"list_provider": ["./", "..", "field_list_provider"]}
, "expression":
{ "type": "let*"
, "bindings":
[ [ "fieldname"
, {"type": "var", "name": "fieldname", "default": "defaults"}
]
, ["provider", "PATH"]
, ["transition", {"type": "var", "name": "defaults-transition"}]
]
, "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
}
}
}
|