Lines Matching full:depth

21 def reflow_lines(s, depth):  argument
22 """Reflow the line s indented depth tabs.
26 exclusively on depth * TABSIZE. All following lines -- these are
31 size = MAX_COL - depth * TABSIZE
90 def emit(self, s, depth, reflow=True): argument
93 lines = reflow_lines(s, depth)
98 line = (" " * TABSIZE * depth) + line
107 def visitType(self, type, depth=0): argument
108 self.visit(type.value, type.name, depth)
110 def visitSum(self, sum, name, depth): argument
112 self.simple_sum(sum, name, depth)
114 self.sum_with_constructors(sum, name, depth)
116 def simple_sum(self, sum, name, depth): argument
124 self.emit(s, depth)
125 self.emit("", depth)
127 def sum_with_constructors(self, sum, name, depth): argument
130 self.emit(s, depth)
131 self.emit("", depth)
133 def visitProduct(self, product, name, depth): argument
136 self.emit(s, depth)
137 self.emit("", depth)
147 def visitType(self, type, depth=0): argument
148 self.visit(type.value, type.name, depth)
150 def visitSum(self, sum, name, depth): argument
152 self.sum_with_constructors(sum, name, depth)
154 def sum_with_constructors(self, sum, name, depth): argument
155 def emit(s, depth=depth): argument
156 self.emit(s % sys._getframe(1).f_locals, depth)
165 emit("enum _%(name)s_kind kind;", depth + 1)
166 emit("union {", depth + 1)
168 self.visit(t, depth + 2)
169 emit("} v;", depth + 1)
174 emit("%s %s;" % (type, field.name), depth + 1);
178 def visitConstructor(self, cons, depth): argument
180 self.emit("struct {", depth)
182 self.visit(f, depth + 1)
183 self.emit("} %s;" % cons.name, depth)
184 self.emit("", depth)
186 def visitField(self, field, depth): argument
193 self.emit("asdl_int_seq *%(name)s;" % locals(), depth)
195 self.emit("asdl_seq *%(name)s;" % locals(), depth)
197 self.emit("%(ctype)s %(name)s;" % locals(), depth)
199 def visitProduct(self, product, name, depth): argument
200 self.emit("struct _%(name)s {" % locals(), depth)
202 self.visit(f, depth + 1)
207 self.emit("%s %s;" % (type, field.name), depth + 1);
208 self.emit("};", depth)
209 self.emit("", depth)
288 def emit(s, depth=0, reflow=True): argument
289 self.emit(s, depth, reflow)
322 def emit(s, depth=0, reflow=True): argument
323 self.emit(s, depth, reflow)
331 def emit(s, depth=0, reflow=True): argument
332 self.emit(s, depth, reflow)
421 self.visitField(a, name, sum=sum, depth=1)
430 self.visitFieldDeclaration(f, t.name, sum=sum, depth=2)
433 self.visitField(f, t.name, sum=sum, depth=2)
458 self.visitFieldDeclaration(f, name, prod=prod, depth=1)
460 self.visitFieldDeclaration(a, name, prod=prod, depth=1)
463 self.visitField(f, name, prod=prod, depth=1)
465 self.visitField(a, name, prod=prod, depth=1)
476 def visitFieldDeclaration(self, field, name, sum=None, prod=None, depth=0): argument
480 self.emit("asdl_int_seq* %s;" % field.name, depth)
482 self.emit("asdl_seq* %s;" % field.name, depth)
485 self.emit("%s %s;" % (ctype, field.name), depth)
498 def visitField(self, field, name, sum=None, prod=None, depth=0): argument
500 self.emit("if (_PyObject_LookupAttrId(obj, &PyId_%s, &tmp) < 0) {" % field.name, depth)
501 self.emit("return 1;", depth+1)
502 self.emit("}", depth)
504 self.emit("if (tmp == NULL) {", depth)
507 self.emit(format % message, depth+1, reflow=False)
508 self.emit("return 1;", depth+1)
510 self.emit("if (tmp == NULL || tmp == Py_None) {", depth)
511 self.emit("Py_CLEAR(tmp);", depth+1)
513 self.emit("%s = 0;" % field.name, depth+1)
515 self.emit("%s = NULL;" % field.name, depth+1)
518 self.emit("}", depth)
519 self.emit("else {", depth)
521 self.emit("int res;", depth+1)
523 self.emit("Py_ssize_t len;", depth+1)
524 self.emit("Py_ssize_t i;", depth+1)
525 self.emit("if (!PyList_Check(tmp)) {", depth+1)
529 depth+2, reflow=False)
530 self.emit("goto failed;", depth+2)
531 self.emit("}", depth+1)
532 self.emit("len = PyList_GET_SIZE(tmp);", depth+1)
534 self.emit("%s = _Py_asdl_int_seq_new(len, arena);" % field.name, depth+1)
536 self.emit("%s = _Py_asdl_seq_new(len, arena);" % field.name, depth+1)
537 self.emit("if (%s == NULL) goto failed;" % field.name, depth+1)
538 self.emit("for (i = 0; i < len; i++) {", depth+1)
539 self.emit("%s val;" % ctype, depth+2)
541 field.type, depth+2, reflow=False)
542 self.emit("if (res != 0) goto failed;", depth+2)
543 self.emit("if (len != PyList_GET_SIZE(tmp)) {", depth+2)
547 depth+3, reflow=False)
548 self.emit("goto failed;", depth+3)
549 self.emit("}", depth+2)
550 self.emit("asdl_seq_SET(%s, i, val);" % field.name, depth+2)
551 self.emit("}", depth+1)
554 (field.type, field.name), depth+1)
555 self.emit("if (res != 0) goto failed;", depth+1)
557 self.emit("Py_CLEAR(tmp);", depth+1)
558 self.emit("}", depth)
1152 def visitField(self, field, name, depth, product): argument
1154 self.emit(s, depth + d)
1159 self.set(field, value, depth)
1165 def emitSeq(self, field, value, depth, emit): argument
1171 self.set("value", field, "asdl_seq_GET(seq, i)", depth + 1)
1177 def set(self, field, value, depth): argument
1183 self.emit("{", depth)
1184 self.emit("Py_ssize_t i, n = asdl_seq_LEN(%s);" % value, depth+1)
1185 self.emit("value = PyList_New(n);", depth+1)
1186 self.emit("if (!value) goto failed;", depth+1)
1187 self.emit("for(i = 0; i < n; i++)", depth+1)
1190 depth+2, reflow=False)
1191 self.emit("}", depth)
1193 self.emit("value = ast2obj_list(%s, ast2obj_%s);" % (value, field.type), depth)
1196 self.emit("value = ast2obj_%s(%s);" % (field.type, value), depth, reflow=False)