Lines Matching refs:stmt
716 validate_stmt(struct validator *state, stmt_ty stmt)
719 VALIDATE_POSITIONS(stmt);
726 switch (stmt->kind) {
728 ret = validate_body(state, stmt->v.FunctionDef.body, "FunctionDef") &&
729 validate_arguments(state, stmt->v.FunctionDef.args) &&
730 validate_exprs(state, stmt->v.FunctionDef.decorator_list, Load, 0) &&
731 (!stmt->v.FunctionDef.returns ||
732 validate_expr(state, stmt->v.FunctionDef.returns, Load));
735 ret = validate_body(state, stmt->v.ClassDef.body, "ClassDef") &&
736 validate_exprs(state, stmt->v.ClassDef.bases, Load, 0) &&
737 validate_keywords(state, stmt->v.ClassDef.keywords) &&
738 validate_exprs(state, stmt->v.ClassDef.decorator_list, Load, 0);
741 ret = !stmt->v.Return.value || validate_expr(state, stmt->v.Return.value, Load);
744 ret = validate_assignlist(state, stmt->v.Delete.targets, Del);
747 ret = validate_assignlist(state, stmt->v.Assign.targets, Store) &&
748 validate_expr(state, stmt->v.Assign.value, Load);
751 ret = validate_expr(state, stmt->v.AugAssign.target, Store) &&
752 validate_expr(state, stmt->v.AugAssign.value, Load);
755 if (stmt->v.AnnAssign.target->kind != Name_kind &&
756 stmt->v.AnnAssign.simple) {
761 ret = validate_expr(state, stmt->v.AnnAssign.target, Store) &&
762 (!stmt->v.AnnAssign.value ||
763 validate_expr(state, stmt->v.AnnAssign.value, Load)) &&
764 validate_expr(state, stmt->v.AnnAssign.annotation, Load);
767 ret = validate_expr(state, stmt->v.For.target, Store) &&
768 validate_expr(state, stmt->v.For.iter, Load) &&
769 validate_body(state, stmt->v.For.body, "For") &&
770 validate_stmts(state, stmt->v.For.orelse);
773 ret = validate_expr(state, stmt->v.AsyncFor.target, Store) &&
774 validate_expr(state, stmt->v.AsyncFor.iter, Load) &&
775 validate_body(state, stmt->v.AsyncFor.body, "AsyncFor") &&
776 validate_stmts(state, stmt->v.AsyncFor.orelse);
779 ret = validate_expr(state, stmt->v.While.test, Load) &&
780 validate_body(state, stmt->v.While.body, "While") &&
781 validate_stmts(state, stmt->v.While.orelse);
784 ret = validate_expr(state, stmt->v.If.test, Load) &&
785 validate_body(state, stmt->v.If.body, "If") &&
786 validate_stmts(state, stmt->v.If.orelse);
789 if (!validate_nonempty_seq(stmt->v.With.items, "items", "With"))
791 for (Py_ssize_t i = 0; i < asdl_seq_LEN(stmt->v.With.items); i++) {
792 withitem_ty item = asdl_seq_GET(stmt->v.With.items, i);
797 ret = validate_body(state, stmt->v.With.body, "With");
800 if (!validate_nonempty_seq(stmt->v.AsyncWith.items, "items", "AsyncWith"))
802 for (Py_ssize_t i = 0; i < asdl_seq_LEN(stmt->v.AsyncWith.items); i++) {
803 withitem_ty item = asdl_seq_GET(stmt->v.AsyncWith.items, i);
808 ret = validate_body(state, stmt->v.AsyncWith.body, "AsyncWith");
811 if (!validate_expr(state, stmt->v.Match.subject, Load)
812 || !validate_nonempty_seq(stmt->v.Match.cases, "cases", "Match")) {
815 for (Py_ssize_t i = 0; i < asdl_seq_LEN(stmt->v.Match.cases); i++) {
816 match_case_ty m = asdl_seq_GET(stmt->v.Match.cases, i);
826 if (stmt->v.Raise.exc) {
827 ret = validate_expr(state, stmt->v.Raise.exc, Load) &&
828 (!stmt->v.Raise.cause || validate_expr(state, stmt->v.Raise.cause, Load));
831 if (stmt->v.Raise.cause) {
838 if (!validate_body(state, stmt->v.Try.body, "Try"))
840 if (!asdl_seq_LEN(stmt->v.Try.handlers) &&
841 !asdl_seq_LEN(stmt->v.Try.finalbody)) {
845 if (!asdl_seq_LEN(stmt->v.Try.handlers) &&
846 asdl_seq_LEN(stmt->v.Try.orelse)) {
850 for (Py_ssize_t i = 0; i < asdl_seq_LEN(stmt->v.Try.handlers); i++) {
851 excepthandler_ty handler = asdl_seq_GET(stmt->v.Try.handlers, i);
858 ret = (!asdl_seq_LEN(stmt->v.Try.finalbody) ||
859 validate_stmts(state, stmt->v.Try.finalbody)) &&
860 (!asdl_seq_LEN(stmt->v.Try.orelse) ||
861 validate_stmts(state, stmt->v.Try.orelse));
864 if (!validate_body(state, stmt->v.TryStar.body, "TryStar"))
866 if (!asdl_seq_LEN(stmt->v.TryStar.handlers) &&
867 !asdl_seq_LEN(stmt->v.TryStar.finalbody)) {
871 if (!asdl_seq_LEN(stmt->v.TryStar.handlers) &&
872 asdl_seq_LEN(stmt->v.TryStar.orelse)) {
876 for (Py_ssize_t i = 0; i < asdl_seq_LEN(stmt->v.TryStar.handlers); i++) {
877 excepthandler_ty handler = asdl_seq_GET(stmt->v.TryStar.handlers, i);
883 ret = (!asdl_seq_LEN(stmt->v.TryStar.finalbody) ||
884 validate_stmts(state, stmt->v.TryStar.finalbody)) &&
885 (!asdl_seq_LEN(stmt->v.TryStar.orelse) ||
886 validate_stmts(state, stmt->v.TryStar.orelse));
889 ret = validate_expr(state, stmt->v.Assert.test, Load) &&
890 (!stmt->v.Assert.msg || validate_expr(state, stmt->v.Assert.msg, Load));
893 ret = validate_nonempty_seq(stmt->v.Import.names, "names", "Import");
896 if (stmt->v.ImportFrom.level < 0) {
900 ret = validate_nonempty_seq(stmt->v.ImportFrom.names, "names", "ImportFrom");
903 ret = validate_nonempty_seq(stmt->v.Global.names, "names", "Global");
906 ret = validate_nonempty_seq(stmt->v.Nonlocal.names, "names", "Nonlocal");
909 ret = validate_expr(state, stmt->v.Expr.value, Load);
912 ret = validate_body(state, stmt->v.AsyncFunctionDef.body, "AsyncFunctionDef") &&
913 validate_arguments(state, stmt->v.AsyncFunctionDef.args) &&
914 validate_exprs(state, stmt->v.AsyncFunctionDef.decorator_list, Load, 0) &&
915 (!stmt->v.AsyncFunctionDef.returns ||
916 validate_expr(state, stmt->v.AsyncFunctionDef.returns, Load));
938 stmt_ty stmt = asdl_seq_GET(seq, i);
939 if (stmt) {
940 if (!validate_stmt(state, stmt))