OILS / _devbuild / gen / types_asdl.py View on Github | oilshell.org

163 lines, 130 significant
1from asdl import pybase
2from mycpp import mops
3from typing import Optional, List, Tuple, Dict, Any, cast, TYPE_CHECKING
4
5
6from asdl import runtime # For runtime.NO_SPID
7from asdl.runtime import NewRecord, NewLeaf, TraversalState
8from _devbuild.gen.hnode_asdl import color_e, hnode, hnode_e, hnode_t, Field
9
10class bool_arg_type_t(pybase.SimpleObj):
11 pass
12
13class bool_arg_type_e(object):
14 Undefined = bool_arg_type_t(1)
15 Path = bool_arg_type_t(2)
16 Int = bool_arg_type_t(3)
17 Str = bool_arg_type_t(4)
18 Other = bool_arg_type_t(5)
19
20_bool_arg_type_str = {
21 1: 'bool_arg_type.Undefined',
22 2: 'bool_arg_type.Path',
23 3: 'bool_arg_type.Int',
24 4: 'bool_arg_type.Str',
25 5: 'bool_arg_type.Other',
26}
27
28def bool_arg_type_str(val):
29 # type: (bool_arg_type_t) -> str
30 return _bool_arg_type_str[val]
31
32class redir_arg_type_t(pybase.SimpleObj):
33 pass
34
35class redir_arg_type_e(object):
36 Path = redir_arg_type_t(1)
37 Desc = redir_arg_type_t(2)
38 Here = redir_arg_type_t(3)
39
40_redir_arg_type_str = {
41 1: 'redir_arg_type.Path',
42 2: 'redir_arg_type.Desc',
43 3: 'redir_arg_type.Here',
44}
45
46def redir_arg_type_str(val):
47 # type: (redir_arg_type_t) -> str
48 return _redir_arg_type_str[val]
49
50opt_group_t = int # type alias for integer
51
52class opt_group_i(object):
53 StrictAll = 1
54 YshUpgrade = 2
55 YshAll = 3
56 ARRAY_SIZE = 4
57
58_opt_group_str = {
59 1: 'opt_group.StrictAll',
60 2: 'opt_group.YshUpgrade',
61 3: 'opt_group.YshAll',
62}
63
64def opt_group_str(val):
65 # type: (opt_group_t) -> str
66 return _opt_group_str[val]
67
68class lex_mode_t(pybase.SimpleObj):
69 pass
70
71class lex_mode_e(object):
72 Undefined = lex_mode_t(1)
73 Comment = lex_mode_t(2)
74 ShCommand = lex_mode_t(3)
75 ShCommandFakeBrack = lex_mode_t(4)
76 Backtick = lex_mode_t(5)
77 DBracket = lex_mode_t(6)
78 SQ_Raw = lex_mode_t(7)
79 DQ = lex_mode_t(8)
80 SQ_C = lex_mode_t(9)
81 J8_Str = lex_mode_t(10)
82 Arith = lex_mode_t(11)
83 ExtGlob = lex_mode_t(12)
84 VSub_1 = lex_mode_t(13)
85 VSub_2 = lex_mode_t(14)
86 VSub_ArgUnquoted = lex_mode_t(15)
87 VSub_ArgDQ = lex_mode_t(16)
88 VSub_Zsh = lex_mode_t(17)
89 BashRegex = lex_mode_t(18)
90 BashRegexFakeInner = lex_mode_t(19)
91 FuncParens = lex_mode_t(20)
92 PrintfOuter = lex_mode_t(21)
93 PrintfPercent = lex_mode_t(22)
94 Expr = lex_mode_t(23)
95
96_lex_mode_str = {
97 1: 'lex_mode.Undefined',
98 2: 'lex_mode.Comment',
99 3: 'lex_mode.ShCommand',
100 4: 'lex_mode.ShCommandFakeBrack',
101 5: 'lex_mode.Backtick',
102 6: 'lex_mode.DBracket',
103 7: 'lex_mode.SQ_Raw',
104 8: 'lex_mode.DQ',
105 9: 'lex_mode.SQ_C',
106 10: 'lex_mode.J8_Str',
107 11: 'lex_mode.Arith',
108 12: 'lex_mode.ExtGlob',
109 13: 'lex_mode.VSub_1',
110 14: 'lex_mode.VSub_2',
111 15: 'lex_mode.VSub_ArgUnquoted',
112 16: 'lex_mode.VSub_ArgDQ',
113 17: 'lex_mode.VSub_Zsh',
114 18: 'lex_mode.BashRegex',
115 19: 'lex_mode.BashRegexFakeInner',
116 20: 'lex_mode.FuncParens',
117 21: 'lex_mode.PrintfOuter',
118 22: 'lex_mode.PrintfPercent',
119 23: 'lex_mode.Expr',
120}
121
122def lex_mode_str(val):
123 # type: (lex_mode_t) -> str
124 return _lex_mode_str[val]
125
126class word_mode_t(pybase.SimpleObj):
127 pass
128
129class word_mode_e(object):
130 ShCommand = word_mode_t(1)
131 ShCommandBrack = word_mode_t(2)
132 DBracket = word_mode_t(3)
133 BashRegex = word_mode_t(4)
134
135_word_mode_str = {
136 1: 'word_mode.ShCommand',
137 2: 'word_mode.ShCommandBrack',
138 3: 'word_mode.DBracket',
139 4: 'word_mode.BashRegex',
140}
141
142def word_mode_str(val):
143 # type: (word_mode_t) -> str
144 return _word_mode_str[val]
145
146class cmd_mode_t(pybase.SimpleObj):
147 pass
148
149class cmd_mode_e(object):
150 Shell = cmd_mode_t(1)
151 Func = cmd_mode_t(2)
152 Proc = cmd_mode_t(3)
153
154_cmd_mode_str = {
155 1: 'cmd_mode.Shell',
156 2: 'cmd_mode.Func',
157 3: 'cmd_mode.Proc',
158}
159
160def cmd_mode_str(val):
161 # type: (cmd_mode_t) -> str
162 return _cmd_mode_str[val]
163