summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Shawcroft <scott@adafruit.com>2020-07-27 16:02:25 -0700
committerGitHub <noreply@github.com>2020-07-27 16:02:25 -0700
commit7f804fdc5ddb75872362ecbe4304226d4f575d6b (patch)
tree99c1c4d541575b344e5d27d84af02f932e2fe57c
parentf4f2018952d90b4379bf09761ef6a5113c3ede91 (diff)
parenta6b5870514c3e5cf05aa9b8a5ee53ff45936a86f (diff)
Merge pull request #3202 from WarriorOfWire/require_await_in_async
Require await in async
-rw-r--r--locale/circuitpython.pot16
-rw-r--r--py/compile.c5
2 files changed, 7 insertions, 14 deletions
diff --git a/locale/circuitpython.pot b/locale/circuitpython.pot
index 4d3a87706..153f0edad 100644
--- a/locale/circuitpython.pot
+++ b/locale/circuitpython.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-07-21 18:43-0700\n"
+"POT-Creation-Date: 2020-07-24 19:58-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -110,10 +110,6 @@ msgstr ""
msgid "'%q' argument required"
msgstr ""
-#: py/objarray.c
-msgid "'%q' object is not bytes-like"
-msgstr ""
-
#: py/emitinlinethumb.c py/emitinlinextensa.c
#, c-format
msgid "'%s' expects a label"
@@ -219,11 +215,11 @@ msgid "'align' requires 1 argument"
msgstr ""
#: py/compile.c
-msgid "'async for' or 'async with' outside async function"
+msgid "'await' outside function"
msgstr ""
#: py/compile.c
-msgid "'await' outside function"
+msgid "'await', 'async for' or 'async with' outside async function"
msgstr ""
#: py/compile.c
@@ -1336,10 +1332,6 @@ msgstr ""
msgid "Pull not used when direction is output."
msgstr ""
-#: ports/stm/ref/pulseout-pre-timeralloc.c
-msgid "PulseOut not supported on this chip"
-msgstr ""
-
#: ports/stm/common-hal/os/__init__.c
msgid "RNG DeInit Error"
msgstr ""
@@ -1773,7 +1765,7 @@ msgstr ""
msgid "__new__ arg must be a user-type"
msgstr ""
-#: extmod/modubinascii.c extmod/moduhashlib.c
+#: extmod/modubinascii.c extmod/moduhashlib.c py/objarray.c
msgid "a bytes-like object is required"
msgstr ""
diff --git a/py/compile.c b/py/compile.c
index 9b0d29998..fade4c01a 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -1713,11 +1713,11 @@ STATIC void compile_yield_from(compiler_t *comp) {
#if MICROPY_PY_ASYNC_AWAIT
STATIC bool compile_require_async_context(compiler_t *comp, mp_parse_node_struct_t *pns) {
int scope_flags = comp->scope_cur->scope_flags;
- if(scope_flags & MP_SCOPE_FLAG_GENERATOR) {
+ if(scope_flags & MP_SCOPE_FLAG_ASYNC) {
return true;
}
compile_syntax_error(comp, (mp_parse_node_t)pns,
- translate("'async for' or 'async with' outside async function"));
+ translate("'await', 'async for' or 'async with' outside async function"));
return false;
}
@@ -2645,6 +2645,7 @@ STATIC void compile_atom_expr_await(compiler_t *comp, mp_parse_node_struct_t *pn
compile_syntax_error(comp, (mp_parse_node_t)pns, translate("'await' outside function"));
return;
}
+ compile_require_async_context(comp, pns);
compile_atom_expr_normal(comp, pns);
compile_yield_from(comp);
}